我有一个NSArray
,里面有6个ACustomObject
。每个ACustomObject
都有一个NSArray
,该BCustomObject
在该数组中包含许多ACustomObject
。
这样做的原因是将数据保持在一起。这样每个BCustomObject
都有一个grouped style
属性,该属性具有选项列表。
现在,我想在ACustomObject
中的UITableViewController中显示此数据,以便每个部分都是BCustomObjects
的标题,行将是属于ACustomObject
的BCustonObject.property
数量
所以在UITableView的每个部分中看起来都是这样
第一节
节标题:
ACustomObject->标题BCustonObject.property
BCustonObject.property
BCustonObject.property
BCustonObject.property
第二节
节标题:
ACustomObject->一些标题BCustonObject.property
BCustonObject.property
BCustonObject.property
arrayMain
..等等..
所以我尝试遍历包含两个NSObjects
的ACustonObjects
要将self.bCustomObjectArray
放入单独的数组中(用于节数),我这样做是:
for (ACustomObject *customObject in self.arrayMain){
[self.aCustomObjectArray addObject: customObject];
}
所以这很好。
但是,当我这样做时:
for (BCustomObject *customObject in self.arrayMain){
[self.bCustomObjectArray addObject: customObject];
}
数组:
ACustomObjects
同时具有BCustomObjects
和内部带有ACustomObject
的数组。不知道如何正确拆分阵列。
内部具有所有对象的主数组如下所示:
ArrayOne:
->
-> NSArray的
-> BCustomObject
最佳答案
从ACustomObject
获取self.arrayMain
。
for (id object in self.arrayMain) {
if([object isKindOfClass:[ACustomObject class]]) {
[self.aCustomObjects addObject:object];
}
}
那么部分的数量将是:
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return [self.aCustomObjects count];
}
每个特定部分的行数为:
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
ACustomObject *object = self.aCustomObjects[(NSUInteger)section];
return [object.bCustomObjects count];
}
我假设
object.bCustomObjects
是BCustomObject
中ACustomObject
的数组。