我需要从下面的数据中显示分组的tableview。我需要根据" account_type" 对以下数组进行分类。
对于Eg:我需要显示表格部分标题"储蓄"并列出所有储蓄类型帐户,然后类似地获取唯一帐户类型,并将其作为表行中的节标题和帐号给出。我可以使用NSSet获取节头,但是如何获取行计数并在UITableView中显示它。
<div id="slider-wrapper">
<div class="inner-wrapper">
<input checked type="radio" name="slide" class="control" id="Slide1" />
<label for="Slide1" id="s1"></label>
<input type="radio" name="slide" class="control" id="Slide2" />
<label for="Slide2" id="s2"></label>
<input type="radio" name="slide" class="control" id="Slide3" />
<label for="Slide3" id="s3"></label>
<input type="radio" name="slide" class="control" id="Slide4" />
<label for="Slide4" id="s4"></label>
<div class="overflow-wrapper">
<a class="slide" href=""><img src="http://placehold.it/940x470" /></a>
<a class="slide" href=""><img src="http://placehold.it/940x470" /></a>
<a class="slide" href=""><img src="http://placehold.it/940x470" /></a>
<a class="slide" href=""><img src="http://placehold.it/940x470" /></a>
</div>
</div>
</div>
我需要在UITableView中显示以上数据,如
第0部分---储蓄
第1行 - 123
第2行 - 123456
第1节---&gt; DPN工作人员无EMI
第1行 - 00000316
谢谢,
AKC
答案 0 :(得分:2)
请尝试以下代码:
NSMutableArray *resultArray = [NSMutableArray new];
NSArray *groups = [arrySelectedAcctDetails valueForKeyPath:@"@distinctUnionOfObjects.account_type"];
NSLog(@"%@", groups);
for (NSString *groupId in groups)
{
NSMutableDictionary *entry = [NSMutableDictionary new];
[entry setObject:groupId forKey:@"account_type"];
NSArray *groupNames = [arrySelectedAcctDetails filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"account_type = %@", groupId]];
for (int i = 0; i < groupNames.count; i++)
{
NSString *name = [[groupNames objectAtIndex:i] objectForKey:@"account_no"];
[entry setObject:name forKey:[NSString stringWithFormat:@"account_no%d", i + 1]];
}
[resultArray addObject:entry];
}
NSLog(@"%@", resultArray);
<强>输出:强>
{
"account_no1" = 00000316;
"account_type" = "DPN STAFF NON EMI";
},
{
"account_no1" = 123;
"account_no2" = 123456;
"account_type" = Savings;
},
答案 1 :(得分:2)
您也可以使用NSDictionary。以下代码完美无缺。
$sd
然后是UITableView代理:
if([arrySelectedDetails count] >0){
grouped = [[NSMutableDictionary alloc] initWithCapacity:arrySelectedAcctDetails.count];
for (NSDictionary *dict in arrySelectedDetails) {
id key = [dict valueForKey:@"type"];
NSMutableArray *tmp = [grouped objectForKey:key];
if (tmp == nil) {
tmp = [[NSMutableArray alloc] init];
[grouped setObject:tmp forKey:key];
}
[tmp addObject:dict];
}
typeArray= [[NSMutableArray alloc]init];
for(NSDictionary *groupId in arrySelectedDetails){
if(!([typeArray count]>0)){
[typeArray addObject:[groupId valueForKey:@"type"]];
}
else if (![typeArray containsObject:[groupId valueForKey:@"type"]]) {
[typeArray addObject:[groupId valueForKey:@"type"]];
}
}
}