Leo*_*ang 7 xcode core-data objective-c ios
喜欢标题.我使用核心数据插入项目,我插入100个项目,它太慢了.如何提高插入速度?核心数据是否具有交易功能?
小智 6
[[<#NSManagedObjectContext#> undoManager] beginUndoGrouping];
... do some data modifications ....
[[<#NSManagedObjectContext#> undoManager] endUndoGrouping];
[[<#NSManagedObjectContext#> undoManager] undo]; // rollback
...
Run Code Online (Sandbox Code Playgroud)
save在插入所有100个对象之后,而不是在每个插入之后,您要查找的是Core Data.
将对象插入Core Data时,它们仅存在于内存中.要将新对象保存到光盘,您应该保存哪些将进行所有更改(插入,更新和删除)并将它们一起写入光盘.
如果查看-insertObject(下面)的文档,您可以看到插入对象时只注册保存更改时要插入的对象.
insertObject:
在下次保存更改时,注册要插入接收方持久存储中的对象.
Run Code Online (Sandbox Code Playgroud)- (void)insertObject:(NSManagedObject *)object参数
宾语
一个托管对象.
通过进一步查看-save :(下面)的文档,您将看到它将(尝试)保存所有未保存的已更改,在您的情况下,所有100个插入的项目.
保存:
尝试将未注册的更改提交到其持久存储的已注册对象.
Run Code Online (Sandbox Code Playgroud)- (BOOL)save:(NSError **)error参数
错误
指向
NSError对象的指针.您不需要创建NSError对象.如果通过,保存操作将在第一次失败后中止NULL.回报价值
YES如果保存成功,否则NO.
| 归档时间: |
|
| 查看次数: |
4001 次 |
| 最近记录: |