Car*_*loS 5 iphone core-data ios
首先我创建了一个NSFetchedResultsController与NSFetchRequest该获取实体的所有对象"实体".
然后我插入一个新的NSManagedObject A,它是一个"Entity"的实例,和Edit B,它也是一个"Entity"的实例.
然后我打电话NSArray *result = [fetchedResultsController -fetchedObjects],A和B会结果吗?
在整个项目中,我只使用一个 NSManagedObjectContext.
如果我这样做,这在文件中意味着什么?
fetchedObjects获取的结果.
@property(nonatomic,readonly)NSArray*fetchedObjects讨论如果尚未调用performFetch:,则属性的值为nil.
结果数组仅包含由获取请求(fetchRequest)指定的实体的实例,并且与其谓词匹配.(如果获取请求没有谓词,则结果数组包括获取请求指定的实体的所有实例.)
结果数组反映了控制器的托管对象上下文中托管对象的内存中状态,而不是持久性存储中的状态.但是,返回的数组不会在插入,修改或删除托管对象时更新.
最后一句话的意思
...但是,在插入,修改或删除托管对象时,返回的数组不会更新.
是(基于我的实验):如果存储对提取的对象的引用
NSArray *result = [fetchedResultsController fetchedObjects];
Run Code Online (Sandbox Code Playgroud)
然后这个数组通过引用 result将不更新,如果对象被插入,修改或删除.所以重点是" 返回的数组不...".
但如果你打电话
[fetchedResultsController fetchedObjects]
Run Code Online (Sandbox Code Playgroud)
稍后,返回值是一个新的对象列表,包括更改.
更确切地说:如果您设置了委托,FRC会跟踪对托管对象上下文的更改并调用FRC委托函数.插入/修改/删除对象时,不会立即调用委托函数
一旦controllerDidChangeContent:被调用,新的调用就会[fetchedResultsController fetchedObjects]返回更新的对象列表.
| 归档时间: |
|
| 查看次数: |
5011 次 |
| 最近记录: |