gpt4 book ai didi

ios - 核心数据和 NSFetchedResultsController : ignoring fields in controllerDidChangeContent

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:20:27 25 4
gpt4 key购买 nike

我有一个后台线程执行后台更新,设置/覆盖几种 NSManagedObjects 上的字段。所有子类都包含一个 lastModified 属性,该属性在被后台任务处理时始终得到更新。

我的问题是,当我这样做时,后台线程命中的所有实体也将触发 controllerWillChangeContent/controllerDidChangeContent。即使什么都没有真正改变。

  • 如果我点击了一个 setter(例如使用 NSString 但内容实际上并没有改变,它是否仍会触发更新或者 CoreDate 足够聪明以忽略它?

  • 是否可以在通知 resultsControllers 更改时以某种方式将属性标记为不包含?

最佳答案

您可以使用 setPrimitiveValue:forKey: 来更改 NSManagedObject 而无需发送任何 KVO 通知(这会触发 nsfetchedresultscontroller 更新)

例如

[self setPrimitiveValue:[NSDate date] forKey:@"lastModified"]

您可以在此处阅读更多相关信息 https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/CoreData/Articles/cdAccessorMethods.html#//apple_ref/doc/uid/TP40002154-SW5

关于ios - 核心数据和 NSFetchedResultsController : ignoring fields in controllerDidChangeContent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26043301/

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