【发布时间】:2016-09-24 16:22:37
【问题描述】:
我知道这可能是一个重复的问题,但我搜索了很多但无法找到适合我的答案。
我有一个NSMutableArray,它有一个twoNSDictionary,其中包含我需要在UITableView 上填充的键和值。我已检索到 dictionary 的值,我将使用
NSMutableArray *mutArray = [responseArray valueForKey:@"Table"];
我确实喜欢
NSMutableSet *names = [NSMutableSet set];
NSMutableArray *mutArray1 = [[NSMutableArray alloc] init];
for (id obj in mutArray) {
NSString *destinationName = [obj valueForKey:@"AssetClassName"];
if (![names containsObject:destinationName]) {
[mutArray1 addObject:destinationName];
[names addObject:destinationName];
}
}
因为值AssetClassName 重复了。现在我在mutArray1 中有三个值,我需要将它们显示为UITableView 部分。在AssetClassName 下,我有一些数据决定了该部分中的行。
为了检索我正在做的数据
for (int i = 0; i < [mutArray1 count]; i++) {
NSMutableDictionary *a = [[NSMutableDictionary alloc] init];
NSMutableDictionary *b = [[NSMutableDictionary alloc] init];
for (NSDictionary *dict in mutArray) {
if ([[mutArray1 objectAtIndex:i] isEqualToString:[dict valueForKey:@"AssetClassName"]]) {
[a setObject:[dict objectForKey: @"SubAssetClassName"] forKey:@"Investment Categories"];
[a setObject:[dict valueForKey:@"Amount"] forKey:@"Amount (EUR)"];
[a setObject:[dict valueForKey:@"AllocationPercentage"] forKey:@"%"];
[a setObject:[dict valueForKey:@"ModelAllocationPercentage"] forKey:@"ModelAllocationPercentage"];
[b setObject:a forKey:[dict valueForKey:@"SubAssetClassName"]];
[mutdict setObject:b forKey:[dict valueForKey:@"AssetClassName"]];
}
}
}
mutdict 是一个全局声明的NSMutableDictionary,并在viewdidLoad 中实例化
mutdict = [[NSMutableDictionary alloc] init];
根据需要将值插入mutdict。每个SubAssetClassName 都会相应地添加到AssetclassName 中。
但我的问题是在我的最终字典中,即 mutdict 重复了 SubAssetClassName 的值。
谁能告诉我如何解决这个问题。
我的控制台
"AssetClassName" = {
"SubAssetClass" = {
"%" = 0;
"Amount (EUR)" = 0;
"Investment Categories" = "HIGH YIELD BONDS";
"ModelAllocationPercentage" = 22;
};
"SubAssetClass" = {
"%" = 0;
"Amount (EUR)" = 0;
"Investment Categories" = "HIGH YIELD BONDS";
"ModelAllocationPercentage" = 22;
};
"SubAssetClass" = {
"%" = 0;
"Amount (EUR)" = 0;
"Investment Categories" = "HIGH YIELD BONDS";
"ModelAllocationPercentage" = 22;
};
};
"AssetClassName" = {
"SubAssetClass" = {
"%" = 0;
"Amount (EUR)" = 0;
"Investment Categories" = "EMERGING MARKETS EQUITIES";
"ModelAllocationPercentage" = 10;
};
};
"AssetClassName" = {
"SubAssetClass" = {
"%" = 0;
"Amount (EUR)" = 0;
"Investment Categories" = "STRUCTURED PRODUCTS";
"ModelAllocationPercentage" = 10;
};
"SubAssetClass" = {
"%" = 0;
"Amount (EUR)" = 0;
"Investment Categories" = "STRUCTURED PRODUCTS";
"ModelAllocationPercentage" = 10;
};
"SubAssetClass" = {
"%" = 0;
"Amount (EUR)" = 0;
"Investment Categories" = "STRUCTURED PRODUCTS";
"ModelAllocationPercentage" = 10;
};
};
}
在这里我可以看到每个部分的所有SubAssetClass 值都是相同的,但实际上并非如此。
我该如何解决这个问题。
【问题讨论】:
标签: ios objective-c uitableview nsmutabledictionary