0

我经常有一个UITableViewController带有编辑按钮的按钮,我喜欢在表格中没有行时禁用它。为了保持同步,每次发生可能会更新它的事情时,我都会启用/禁用该按钮dataSource- 添加第一行,删除最后一行,inviewDidLoad等。每当我添加一些可能影响表格内容的新功能时,我必须记住合并这个逻辑。

是否有一些UITableView我可以用来简化这一点的代表?一种知道表(或它的dataSource)何时被修改的方法,我可以在其中检查表中的项目数dataSource并相应地启用/禁用。

或者,任何其他方法都将受到欢迎。

4

1 回答 1

3

数据源。因此,如果您想知道,您确实知道数据源何时发生变化。换句话说,您遇到此问题的原因是您将模型(在模型-视图-控制器架构中)视为外星人。相反,将模型视为您自己的东西。负责你的模型。例如,模型是数组吗?然后将其包装在您自己的类中,必须向该类提供更改数组的所有命令。这样,它可以在被告知更改数组时发出通知。

在某些情况下,也可以使用 Key-Value Observing 在某些情况发生变化时得到通知,您可以查看它,但是对于像数组和字典这样的原语,这可能会比它的价值更麻烦。同样,您可能更乐意将模型存储包装在自己的类中,您可以通过 KVO 管理其可观察性。

于 2012-09-16T02:34:33.063 回答