在 UITableViewController 之外使用 NSFetchedResultsController
在 UITableViewController
之外使用 NSFetchedResultsController
会不会是错误的,因为非 UITableView 控制器无法实现 NSFetchedResultsControllerDelegate
协议?
Would it be wrong to use NSFetchedResultsController
outside of a UITableViewController
, since non-UITableView controllers would be unable to implement the NSFetchedResultsControllerDelegate
protocol?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
没有任何特殊原因不能在没有表的情况下使用 NSFetchedResults 控制器。您可以定义任意类来实现 NSFetchedResultsControllerDelegate 协议。
然而,很少有任何特定原因让您想要这样做。 FRC 旨在获取和排序表的数据。它还跟踪部分名称等。其他控件并不真正需要该顺序或该信息。
如果您希望控制器像 FRC 一样监视 ManagedObject 上下文的更改,那么您应该注册控制器以获取上下文的各种通知。然后控制器可以根据需要更新视图,就像 FRC 对表视图所做的那样。
There is no particular reason you can't use a NSFetchedResults controller without a table. You can define any arbitrary class to implement the NSFetchedResultsControllerDelegate protocol.
However, there is seldom any particular reason why you would want to do so. The FRC is designed to fetch and order data for a table. It tracks section names and the like as well. Other controls don't really need that ordering or that information.
If you want a controller to watch the managedObject context for changes like an FRC, then you should register the controller for context's various notifications. Then the controller can update the view as needed just as an FRC does for a tableview.