做簡單的獲取與MR這樣的:替代MR_findFirstWithPredicate,不會阻止主線程?
Cat* cat = [Cat MR_findFirstWithPredicate:predicate];
時間探查下垂這是我的應用程序中最浪費時間的過程之一。而事實上對於MR_findFirstWithPredicate堆棧跟蹤導致此:
+ (NSArray *) MR_executeFetchRequest:(NSFetchRequest *)request inContext:(NSManagedObjectContext *)context
{
__block NSArray *results = nil;
[context performBlockAndWait:^{
NSError *error = nil;
results = [context executeFetchRequest:request error:&error];
if (results == nil)
{
[MagicalRecord handleErrors:error];
}
}];
return results;
}
注意「performBlockAndWait」,這是問題的根源。那麼有什麼選擇?我如何在後臺執行提取?
您是否閱讀過關於此主題的Apple文檔,前幾天我發佈了關於您的非常類似的問題? – Koen
魔法記錄是第三方庫,不包含在Apple的文檔中。 – soleil
你不必一切都用MR。從Apple閱讀文檔以更好地理解您的問題並不會造成任何傷害。 – Koen