gpt4 book ai didi

ios - NSFetchedResultsControllerDelegate 是如何工作的?

转载 作者:行者123 更新时间:2023-11-28 12:22:36 24 4
gpt4 key购买 nike

我是 iOS (Swift) 的新手,正在尝试了解 NSFetchedResultsControllerDelegate 机制。我特别不明白的是 NSFetchedResultsChangeType 是如何被识别的。什么调用插入/删除/更新等操作?什么时候调用“func controller(...)”函数?我无法从 Apple 的文档中获取它。请说明一些问题。

最佳答案

NSFetchedResultsController 没那么聪明。当您创建它时,您在其上设置一个 fetchedRequest 和一个上下文,并告诉它 performFetch。一旦执行了提取,它就会有一个与谓词匹配的对象数组。然后它会监视传递给它的核心数据上下文的所有更改。当一个对象(相同实体类型)被更改时,fetchedResultsController 然后在更改对象上运行获取请求的谓词,以决定是否应该将它添加到列表中或从列表中删除。如果对象被删除,或者之前在列表中,现在不在列表中,那么它是一个delete。如果它之前不在列表中,但现在它确实通过了谓词,那么它就是一个 insert。如果排序描述符使用的字段之一发生更改,则它是一个移动,否则它是一个更新。如果同时进行许多更改(在上下文中一个 save),事件将按顺序委派 - 删除、插入、移动、更新。 indexPath 的值是任何插入或删除之前的索引,而 newIndexPath 是任何插入或删除之后的值。这是否回答了您的问题?

关于ios - NSFetchedResultsControllerDelegate 是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44352415/

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