我慢慢迁移到iOS 5中核心数据的新API,我调查大约NSConfinementConcurrencyType
。移植到iOS 5中核心数据的新API:了解NSConfinementConcurrencyType
从苹果文档
坐月子(NSConfinementConcurrencyType)。这是默认设置。您保证上下文不会被您创建它的 以外的任何线程使用。 (这是完全一样的线程 要求你已经在以前的版本中使用。)
的事情是不是真的明显,我是默认在这方面的意思。它的真正含义是什么?
通常情况下,如果我需要执行CD很长的导入操作,我成立了一个新的NSOperation
类和我创建自己的上下文。现在
- (void)main
{
NSManagedObjectContext *moc = [[NSManagedObjectContext alloc] init];
// other code here...
}
,我可以趁父上下文,并做到以下几点:
- (void)main
{
NSManagedObjectContext *moc = [[NSManagedObjectContext alloc] init];
[moc setParentContext:[self masterMoc]];
// other code here...
}
说这话时,约NSConfinementConcurrencyType
什么?什么可能是一个典型的使用示例?
预先感谢您。
+ 1为您的支持。那么,是否像我在第二个片段中创建背景一样创建了一个限制环境?谢谢。 –
With *父上下文的思想与线程限制的思想是正交的。*你是否说我需要继续在主线程中监听通知?据我了解,当我保存在后台上下文中时,保存不会写入磁盘,而是写入内存。这是否保存合并两个上下文? –
Flex_Addicted,'NSConfinementConcurrencyType'是默认的上下文类型。因此,一个'NSManagedObjectContext.new'创建一个这样的类型。您需要使用更具体的初始化程序“-initWithConcurrencyType:”来获取任何其他类型的MOC。Andrew – adonoho