我有兩個線程在我的應用程序中運行。NSManagedObjectContext鎖定
- 在主線程中,我更新實體中的鍵值或從核心數據獲取一些行。
- 在後臺線程中,我從服務器下載數據。
但更新/加工過程中的核心數據上[managedObjectContext executeFetchRequest:request error:&error]
一些時間......我得到:
#0 0x34507c5c in semaphore_wait_signal_trap()
#1 0x34507f58 in semaphore_wait_signal()
#2 0x364d573a in pthread_mutex_lock()
#3 0x35c91a2e in -[_PFLock lock]()
#4 0x35c91a12 in -[NSPersistentStoreCoordinator lock]()
#5 0x35c919e8 in -[NSManagedObjectContext(_NSInternalAdditions) lockObjectStore]()
#6 0x35c90676 in -[NSManagedObjectContext executeFetchRequest:error:]()
如何進行的NSManagedObjectContext被鎖定?我能爲此做些什麼?
請接受適當的答案給你以前的問題,這可能會讓你在這裏得到更好的答案。 – tilo
我也有同樣的問題。你修好了嗎? –
是的。確保同一個managedobject上下文不會在多個線程上被訪問。請看看接受的答案 – Ritika