0
請幫忙關於如何使用NSManagedObjectContext塊。我試圖爲一個實體異步下載幾個圖像。我擁有的數據結構或多或少如下所示(這是僞代碼的更多內容,並不完全遵循NSManagedObject語法)。使用NSManagedObjectContext的塊
@interface SAImageDoc : NSObject
@property(nonatomic, strong) NSString* imageUrl1;
@property(readwrite) BOOL imageUrl1Downloaded;
@property(nonatomic, strong) NSString* imageUrl2;
@property(readwrite) BOOL imageUrl2Downloaded;
@end
我想異步下載圖像使用塊(AFNetworking)。下載圖像後,我想將下載的布爾值更新爲YES並將其保存到CoreData。
我的問題是:
- 是否確定的NSManagedObjectContext傳遞給每塊?由於該塊在不同的線程中執行,並且NSManagedObjectContext不是線程安全的,因此這似乎是錯誤的。
任何建議如何處理這一個?如果1不工作。任何已知的例子?
非常感謝您的幫助。
更新:
確定。鑑於加布裏埃萊,馬里奧的回答和引用What is NSManagedObjectContext's performBlock: used for?,我相信這裏是我該怎麼辦:使用NSPrivateQueueConcurrencyType或NSMainQueueConcurrencyType
- 實例化上下文;
- 在每個塊中,調用上下文performBlock。
感謝您的幫助。