gpt4 book ai didi

core-data - NSFetchedResultsController : how does it know which objects to call its delegate for?

转载 作者:行者123 更新时间:2023-12-02 04:08:15 25 4
gpt4 key购买 nike

有人关心 NSFetchedResultsController 的内部工作原理吗?

具体来说:它如何知道要为哪些对象调用其委托(delegate)方法?如果我要实现 NSFRC,我会这样做:1)注册来自托管上下文的所有通知,以及 2)当我收到通知时,根据实体的类型检查对象的类型在 NSFRC 中获取请求,并检查 NSFRC 中的谓词(如果存在)是否为该对象返回 true,如果两者都为 true,则调用委托(delegate)的 ...didChangeObject... 方法。

尽管不知何故似乎很笨重,尤其是在进行类型检查时(使用 isKindOf?)。只是问,因为我需要在 NSFRC 方面实现类似的东西。

最佳答案

托管对象上下文广播一系列通知,通知的用户信息字典包含插入、删除或更新的托管对象。

例如。

NSManagedObjectContextObjectsDidChangeNotification

Posted when values of properties of objects contained in a managed object context are changed. The notification is posted during processPendingChanges, after the changes have been processed, but before it is safe to call save: again (if you try, you will generate an infinite loop).

The notification object is the managed object context. The userInfo dictionary contains the following keys: NSInsertedObjectsKey, NSUpdatedObjectsKey, and NSDeletedObjectsKey.



然后,FRC 只检查返回对象的实体,检查它自己的实体,如果匹配,则发送其委托(delegate)消息。

关于core-data - NSFetchedResultsController : how does it know which objects to call its delegate for?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6559107/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com