![](/img/trans.png)
[英]NSFetchedResultsController objectAtIndexPath crash (EXC_BAD_ACCESS)
[英]NSPredicate in NSFetchedResultsController throwing EXC_BAD_ACCESS
我有一個使用NSFetchedResultsController的UITableViewController。 如果我刪除該謂詞,它可以正常工作,但是使用該謂詞,則會引發錯誤的訪問(EXC_BAD_ACCESS)。 我啟用了NSZombieEnabled,但是沒有任何反應。 我正在使用ARC。 我不明白! 請幫忙。 這是我的fetchedresultscontroller代碼。注意:將我的謂詞更改為隨機的簡單謂詞,例如“ unitNumber = nil”或“ unitNumber LIKE%@”,unString仍然會導致崩潰,但是完全注釋掉謂詞不會導致崩潰(但是我擁有全部對象,顯然沒有過濾器):
- (NSFetchedResultsController *)fetchedResultsController
{
if (_fetchedResultsController != nil) {
return _fetchedResultsController;
}
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Unit" inManagedObjectContext:self.managedObjectContext];
[fetchRequest setEntity:entity];
// Predicate
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"workTicket.appointment.scheduleRowPointer = %@", rp];
[self.fetchedResultsController.fetchRequest setPredicate:predicate];
// Sort Descriptor
NSSortDescriptor *unitNumberDescriptor = [[NSSortDescriptor alloc] initWithKey:@"unitNumber" ascending:YES];
NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:unitNumberDescriptor, nil];
[fetchRequest setSortDescriptors:sortDescriptors];
_fetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext:self.managedObjectContext sectionNameKeyPath:@"addedToTicket" cacheName:nil];
return _fetchedResultsController;
}
更改:
[self.fetchedResultsController.fetchRequest setPredicate:predicate];
至 :
[fetchRequest setPredicate:predicate];
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.