我有一个表,我想从xib两个单元格加载。 在UITableViewCell xib文件中,我有两个单元格(两个部分,标签100和200),我想在第一行加载第一个视图(第一个单元格),在第二行加载第二个单元格。 这两个单元格都在xib文件中,如下所示:
这是我的代码:
#pragma mark Table View Data Source Methods
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return 2;
}
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return 2;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
if (indexPath.section == 0) {
CustomCell *cell = (CustomCell *)[self.table dequeueReusableCellWithIdentifier:@"myCell"];
if (cell == nil)
{
NSArray *topLevelObject = [[NSBundle mainBundle] loadNibNamed:@"CustomCell" owner:nil options:nil];
NSLog(@"%@",topLevelObject);
cell = [topLevelObject objectAtIndex:0];
NSLog(@"%@",cell);
}
cell.selectionStyle = UITableViewCellSelectionStyleNone;
return cell;
}
else if (indexPath.section == 1) {
CustomCell *cell2 = (CustomCell *)[self.table dequeueReusableCellWithIdentifier:@"Cell2"];
if (cell2 == nil)
{
NSArray *topLevelObject = [[NSBundle mainBundle] loadNibNamed:@"CustomCell" owner:nil options:nil];
for (id currentObject in topLevelObject) {
if ([currentObject isKindOfClass:[CustomCell class]]) {
cell2 = (CustomCell *)currentObject;
break;
}
}
}
cell2.selectionStyle = UITableViewCellSelectionStyleNone;
return cell2;
}
return nil;
}
我不知道我的错误在哪里,因为在运行代码时我只看到tableView中的第一个单元格
答案 0 :(得分:0)
您正在使用来自XIB的第一个单元格= 0 cell = [topLevelObject objectAtIndex:0]; 因此,以同样的方式,您可以获得第1部分索引1处的第二个单元格 cell = [topLevelObject objectAtIndex:1];