2013-02-25 2 views
0

기본 NSFetchedResultsController을 설정하려고하는데 아래 오류에서 "null"오류가 발생합니다. 오류와 null에서 userInfo 때문에, 나는 잘못 될 수있는 것을 해결하기 위해 무엇을 할 지조차 모른다. 그것은 당신의 머리가 벽돌 벽에 쑤셔지고 왜 프로그래밍의 순간을 말하지 않았 느냐하는 것 중 하나입니다. 내가 잘못 뭐하는 거지크래시 NSFetchedResultsController에서 NULL 오류가 반환되었습니다.

- (NSFetchedResultsController *) fetchedResultsController 
{ 
    if (_fetchedResultsController != nil) { 
     return _fetchedResultsController; 
    } 

    NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init]; 
    NSEntityDescription *entity = [NSEntityDescription entityForName: @"Quote" inManagedObjectContext: [self managedObjectContext]]; 
    [fetchRequest setEntity:entity]; 

    NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:nil ascending: YES]; 
    NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor, nil]; 
    [fetchRequest setSortDescriptors:sortDescriptors]; 

    [fetchRequest setFetchBatchSize: 50]; 

    NSFetchedResultsController *theFetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest: fetchRequest managedObjectContext: [self managedObjectContext] sectionNameKeyPath: nil cacheName: @"Root"]; 
    self.fetchedResultsController = theFetchedResultsController; 
    _fetchedResultsController.delegate = self; 

    return _fetchedResultsController; 
} 

: 최대 컨트롤러를 설정하는 방법

NSError *error; 
if (![_fetchedResultsController performFetch: &error]) { 
    NSLog(@"Error! %@, %@", error, [error userInfo]); 
    abort(); 
} 

그리고 여기 : 여기 viewDidLoad에 충돌을 일으키는 부분입니까?

답변

0

이 시도 _fetchedResultsController가 alloced되지 않은 경우

[_fetchedResultsController performFetch:&error] 

대신

[self.fetchedResultsController performFetch:&error] 

원인을 대체 할, 당신은 -fetchedResultsController 방법을 파견하지 않습니다, 단지 당신이 self.fetchedResultsController 사용하여 게터 방법이 될 것입니다 파견했다.

+0

고맙습니다. 고맙습니다. 객체를 얻지 못하고 배열에 오류가 생길 수 없습니다. – Luke

+0

이 줄에 다음과 같이 나타납니다 :'NSFetchedResultsController * theFetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest : fetchRequest managedObjectContext : [self managedObjectContext] sectionNameKeyPath : nil cacheName : @ ""]; ' – Luke

+0

@lukech 뷰 컨트롤러를 할당 할 때 managedObjectContext를 유지 했습니까? B.t.w, 답변 아래의 주석을 계속하는 대신 새로운 질문을하는 것이 좋습니다. :) – Kjuly

관련 문제