Objective c ios核心数据如何实现sql事务功能?

Objective c ios核心数据如何实现sql事务功能?,objective-c,ios,xcode,core-data,Objective C,Ios,Xcode,Core Data,我喜欢这个头衔。我用核心数据插入项目,我插入100个项目,太慢了。如何提高插入速度?具有事务功能的核心数据 您要寻找的是在插入所有100个对象后,而不是每次插入后,在核心数据中保存 将对象插入核心数据时,它们仅存在于内存中。若要将新对象持久保存到光盘,您应该保存这些对象,并将所有更改(插入、更新和删除)一起写入光盘 如果您查看(下面)可以看到,插入对象只会在保存更改时注册要插入的对象 - (void)insertObject:(NSManagedObject *)object 插入对象: 注

我喜欢这个头衔。我用核心数据插入项目,我插入100个项目,太慢了。如何提高插入速度?具有事务功能的核心数据

您要寻找的是在插入所有100个对象后,而不是每次插入后,在核心数据中保存

将对象插入核心数据时,它们仅存在于内存中。若要将新对象持久保存到光盘,您应该保存这些对象,并将所有更改(插入、更新和删除)一起写入光盘


如果您查看(下面)可以看到,插入对象只会在保存更改时注册要插入的对象

- (void)insertObject:(NSManagedObject *)object
插入对象: 注册下一次保存更改时要插入到接收器持久存储中的对象

- (void)insertObject:(NSManagedObject *)object
参数

反对

托管对象

通过进一步查看(下面),您将意识到它将(尝试)保存所有未保存的更改,在您的情况下,保存所有100个插入的项目

保存: 尝试将对已注册对象的未保存更改提交到其永久存储区

- (BOOL)save:(NSError **)error
参数

错误

指向
n错误
对象的指针。您不需要创建
n错误
对象。如果通过
NULL
,则保存操作在第一次失败后中止

返回值

YES
如果保存成功,否则
NO

[[undoManager]beginUndoGrouping];
... 做一些数据修改。。。。
[[undoManager]endUndoGrouping];
[[undoManager]撤消];//回降
...

您能告诉我们您是如何创建项目的吗?这也是非常缓慢的,因为交易的速度增加丢失了。不管怎样,我想修正一下?