Nik*_*iko 6 xcode multithreading core-data ios magicalrecord
我正在使用魔法记录框架来保存用户设置.现在,我第一次想要在后台线程中保存东西.在Magical Record的github页面上是一个我不完全理解的示例片段:
Person *person = ...;
[MagicalRecord saveInBackgroundWithBlock:^(NSManagedObjectContext *localContext){
Person *localPerson = [person MR_inContext:localContext];
localPerson.firstName = @"John";
localPerson.lastName = @"Appleseed";
}];
Run Code Online (Sandbox Code Playgroud)
为什么需要第一行?我不能完全在块中创建Person吗?谢谢!
All*_*ian 12
当然可以.这个例子只是person
从外部上下文中获取一个对象(你的默认对象或其他),并在后面给你一个指向它的指针,localContext
这样你就可以在后台更新它.如果你要person
从头创建一个你可以做这样的事情:
[MagicalRecord saveInBackgroundWithBlock:^(NSManagedObjectContext *localContext){
Person *localPerson = [Person MR_createInContext:localContext];
localPerson.firstName = @"John";
localPerson.lastName = @"Appleseed";
}];
Run Code Online (Sandbox Code Playgroud)
而且你已经完成了.
PS.注意,这MR_createInContext:
是一个在类上调用的类方法Person
(而不是在MR_inContext:
实例上调用的实例方法person
).
归档时间: |
|
查看次数: |
6767 次 |
最近记录: |