我有一个单独的对象用于UITableViewController的数据源。我想动态修改数据源,但我不希望在数据源中直接引用tableView对象。如何通知控制器有关数据源的更改?
目前我使用的是通知中心,但我认为这不是正确的选择。
答案 0 :(得分:3)
可以发送NSNotification
告诉UITableView
模型已更改,再次读取数据并重新加载表。
答案 1 :(得分:3)
为数据源提供对要刷新的表视图的引用或添加属性是合适的,该属性是数据源在更新某些数据时调用的块(此块由视图控制器提供)并重新加载表视图。)
块方法更通用,允许您的数据源更容易地与表/集合视图一起使用。
在这两种情况下,您正在查看的关系是直接关系,而且是1比1.这不适合使用通知。通知适用于非直接,广播类型1到多种通信要求。
答案 2 :(得分:0)
我得到了这个东西的结构,一个替代方案我是KVO,但是我没有在实现KVO方面取得太大成功,所以我也在考虑使用Block。你更喜欢哪种方法?