У меня произошел сбой при выполнении executeFetchRequest: ошибка:
MyApp[595]
имеет активные подтверждения за пределами допустимого времени:
{(
<SBProcessAssertion: 0x1e5d1260> identifier: Suspending process: MyApp[595]
permittedBackgroundDuration: 10.000000 reason: suspend owner pid:29 preventSuspend
preventThrottleDownCPU preventThrottleDownUI
И это мой код:
NSString *predString = [NSString stringWithFormat:@"categoryId MATCHES '%@'", categoryId];
NSPredicate *predicate = [NSPredicate predicateWithFormat:predString];
[request setPredicate:predicate];
NSError *error = nil;
NSArray* objects = [context executeFetchRequest: request error: &error];
Насколько я понимаю, выборка, выполняемая синхронно в главном потоке, заняла слишком много времени, более 10 секунд, и процесс был приостановлен.
Просматривая в интернете, я нашел отличное решение для асинхронной выборки:
http://blog.zssz.me/2010/01/asynchronous-fetch-in-core-data.html
Но мне интересно, верно ли мое предположение, и есть либолее простые решения этой проблемы.Большое спасибо.