J'ai deux threads fonctionnant dans mon application.NSManagedObjectContext Locked
- Dans le thread principal, je mets à jour les valeurs des clés dans les entités ou obtient des lignes à partir des données de base.
- Dans le fil d'arrière-plan, je télécharge des données à partir d'un serveur.
Mais quelques fois au cours de la mise à jour/traitement des données de base sur [managedObjectContext executeFetchRequest:request error:&error]
... Je reçois:
#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:]()
Comment le NSManagedObjectContext obtenir verrouillé? Que puis-je faire pour cela?
Veuillez accepter les réponses appropriées à vos questions précédentes, vous obtiendrez probablement plus de bonnes réponses ici. – tilo
J'ai également eu le même problème. Le corrigez-vous? –
Oui .Assurez-vous que le même contexte managedobject n'est pas accessible sur plusieurs thread à la fois.Veuillez regarder par-dessus la réponse acceptée – Ritika