按下按钮更改UITableView功能

时间:2012-03-12 16:07:29

标签: ios uitableview

我正在试图找出最好的方法 - 我有一个UITableView个项目,用户之前已经选择并存储了这些项目。单击某个项目时,它会将您带到详细信息页面。我需要的是能够单击表视图下方的一个按钮来重新加载表并更改附件以使其成为勾号而不是公开,然后用户可以取消勾选项并将其从列表中删除,然后单击另一个按钮,重新加载更新的表并恢复公开附件。

问题是,什么是“记住”在点击后处理表重新加载的哪种方式的最佳方法,以便它知道显示它的方式?您是否会使用NSUserDefaults在按钮单击上存储标记,或者是否有更优雅的方法来执行此操作?我想我可以使用按钮的状态,无论是在一种状态还是另一种状态,但我猜测有一些内置的东西我不见了。

希望这是有道理的 - 谢谢。

1 个答案:

答案 0 :(得分:0)

通常我有一些'模型对象'并且根据我构造表的那些对象的数组。我的cellForRowAtIndexPath看起来像这样:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
    InterestsCell *cell = (InterestsCell*)[tableView dequeueReusableCellWithIdentifier:kInterestsCellID];
    if (cell == nil) {
        ...
    }

    Interest *i = (Interest*)[self.interestsArray objectAtIndex:indexPath.row];
    cell.myTfSubview.enabled = i.isChecked; 

    return cell;
}

如果您没有模型,则可以创建BOOL值数组并在那里存储标记。