Повиснуть при сохранении NSManagedObjectContext: - PullRequest
9 голосов
/ 27 января 2012

Почему-то иногда мое приложение просто зависает со следующим кодом:

NSError *error;
if (![self.managedObjectContext save:&error]) {
     NSLog(@"Couldn't save: %@", [error localizedDescription]);
}

Это не всегда зависает, просто иногда. Если я прерваюсь на все исключения, тогда Xcode прервется при вызове сохранения, но если я отключу точки останова, он просто зависнет навсегда, без сбоев или чего-либо еще.

Есть идеи?

Ответы [ 2 ]

6 голосов
/ 31 января 2012

Зависание всего, что использует ManagedObjectContext, является признаком тупика.Или используйте NSLocking протокол или создайте новый MOC для каждого потока и синхронизируйте их .

Еще один полезный документ от Apple -> Параллельность с базовыми данными

0 голосов
/ 27 января 2012

Вы пытались установить NSError * error на ноль?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...