Я показываю пользователю таблицу с некоторыми данными. Как только представление представлено, я делаю веб-вызов, чтобы узнать, есть ли обновленные данные (асинхронно). Когда вызов службы вернется, я хочу обновить свои основные данные и представление.
К сожалению, я часто получаю мертвые блокировки, потому что представление считывает те же данные, что и записывает вызов службы. Как я могу решить эту проблему?
Когда я приостанавливаю симулятор, как только он замораживается, ожидающие потоки ждут в следующих местах:
Фоновый (обновляющий) поток: (psynch_cvwait)
[mainContext performSelectorOnMainThread:@selector(mergeChangesFromContextDidSaveNotification:)
withObject:notification
waitUntilDone:YES];
Главный поток: (psynch_mutexwait )
выполнение filterArrayUsingPredicate
Большое спасибо!