使 UITableView 内容无效
我有一个带有多个 UITableViewController 的应用程序。 现在,用户可以更改“数据源”。在这种情况下,我需要使相关 UITableView 中的数据无效(重置)。
我发现,我可以使用 NSNotificationCenter 并将这些控制器作为观察者添加到数据源更改时生成的事件。
问题是,如何重置基础表?当然,我可以设置一些布尔标志,并在 viewWillAppear 或 viewDidAppear 中调用 UITableView:reloadData,但我想知道是否有更干净的方法来做到这一点。
或者也许我完全没有抓住要点,而且我完全不需要 NSNotificationCenter。 预先非常感谢您。
I have an application with several UITableViewControllers.
Now, the user is allowed to change "Data source". In that case I need to invalidate (reset) data in the relevant UITableViews.
I figured out, that I can use NSNotificationCenter and add these controllers as observers to events which will be generated when the data source changes.
The question is, how do I reset the underlying tables? I can, of course, set some boolean flag, and call UITableView:reloadData in viewWillAppear or viewDidAppear, but I was wondering, if there's a cleaner way of doing it.
Or perhaps I'm completely missing the point, and I don't need NSNotificationCenter altogether.
Thank you very much in advance.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我不确定为什么你需要在这里使用标志。当您的视图控制器收到通知时,让它在通知处理程序中重新加载表。
如果您的
UITableView
附加到NSFetchedResultsController
,更新表格的工作方式会有所不同。是吗?I'm not sure why you need to use a flag here. When your view controller gets the notification, have it reload the table in the notification handler.
Updating your table will work a bit differently if your
UITableView
is attached to anNSFetchedResultsController
. Is it?