使用`cellForRowAtIndexPath`获取自定义UITableViewCell

时间:2013-11-14 00:25:56

标签: ios iphone objective-c uitableview

我有UITableView,它使用从.xib文件创建的自定义UITableViewCell。 我需要了解这些细胞的一些属性,但我总是得到相同的细胞。 例如:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

    WLS_AnswerCell *answerCell = (WLS_AnswerCell *)[tableView dequeueReusableCellWithIdentifier:@"AnswerCellIdentifier" forIndexPath:indexPath];
    [answerCell setChecked:NO];

    return answerCell;
}

获取单元格的属性:

for (NSInteger j = 0; j < [contentTableView numberOfRowsInSection:0]; j++) {
    WLS_AnswerCell *cell = (WLS_AnswerCell *)[(UITableView *)currentView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:i inSection:0]];
    if (cell.checked) {
       NSLog(@"Cell checked, cell  %@", cell);
       [answers addObject:[NSNumber numberWithInt:j+1]];
    }
}

NSlog始终显示<WLS_AnswerCell: 0x8de1ee0; baseClass = UITableViewCell; frame = (0 0; 320 40); autoresize = W; layer = <CALayer: 0x8de2070>

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

错误在你的for循环中。您创建的索引路径使用i作为行,而应该j代替:)