我慢慢遷移到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