我有一个NSArray,里面有6个ACustomObject。每个ACustomObject都有一个NSArray,该BCustomObject在该数组中包含许多ACustomObject

这样做的原因是将数据保持在一起。这样每个BCustomObject都有一个grouped style属性,该属性具有选项列表。

现在,我想在ACustomObject中的UITableViewController中显示此数据,以便每个部分都是BCustomObjects的标题,行将是属于ACustomObjectBCustonObject.property数量

所以在UITableView的每个部分中看起来都是这样

第一节


节标题:
ACustomObject->标题
BCustonObject.property
BCustonObject.property
BCustonObject.property
BCustonObject.property


第二节


节标题:
ACustomObject->一些标题
BCustonObject.property
BCustonObject.property
BCustonObject.property
arrayMain


..等等..

所以我尝试遍历包含两个NSObjectsACustonObjects

要将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.bCustomObjectsBCustomObjectACustomObject的数组。

07-27 14:42