用另一种方法调用一个对象

时间:2011-05-17 08:51:43

标签: iphone objective-c ios

我想在另一种方法中使用方法的对象。 我怎么能这样做?

我有一个名为“cell”的对象。我在cellForRowAtIndexPath中自定义它。 我想在didSelectRowAtIndexPath中自定义它。

感谢您的帮助!

弗洛

2 个答案:

答案 0 :(得分:0)

当您按didSelectRowAtIndexPath时,您需要创建一个更改的全局变量。然后,当您更改该变量时,请致电[theTableView reloadData]。这会强制UITableView重新加载所有可以看到的单元格(再次调用cellForRowAtIndexPath)。

如果你试图添加一个复选框或类似的东西,你可能想要添加一个NSMutableArray并存储每个单元格的布尔值,并使用参数indexPath.row来查找在调用didSelectRowAtIndexPath时,您需要在该数组中更改哪个对象。

答案 1 :(得分:0)

您可以将didSelectRowAtIndexPath中的选定单元格作为

YourCustomCell *selectedCell = (YourCustomCell *)[tableView cellForRowAtIndexPath:indexPath];

编辑:

-(void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    YourCustomCell *selectedCell = (YourCustomCell *) [tableView cellForRowAtIndexPath:indexPath];
    selectedCell.selected = YES; // Calls setSelected:(BOOL)selected animated:(BOOL)animated function of table view cell.
}

以下内容应该在您的表格视图单元格类中。

- (void)setSelected:(BOOL)selected animated:(BOOL)animated {
    // Configure the view for the selected state
    if (selected) {
        // set background for selected state...
    }else {
        // set background for unselected state...
    }

    [super setSelected:selected animated:animated];
}