0

IF 내 문 내 nsfetchresultscontroller이 작동하지 않아 그 이유를 알 수 없습니다. 그것은 if ([self.title isEqual: @"Abdominals"]) 내 스토리 보드를 사용하여의 ViewController의 정적 제목을 기반으로 간단한 IF 문 아래에 볼 수있다 :술어 내 문이 작동하지 않는 경우

enter image description here

의 ViewController

- (NSFetchedResultsController *)fetchedResultsController { 

    if (_fetchedResultsController != nil) { 
     return _fetchedResultsController; 
    } 

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


    NSSortDescriptor *sort = [[NSSortDescriptor alloc] 
           initWithKey:@"details.muscle" ascending:NO]; 
    [fetchRequest setSortDescriptors:[NSArray arrayWithObject:sort]]; 

    [fetchRequest setFetchBatchSize:20]; 

// Sort Results  
    if ([self.title isEqual: @"Abdominals"]) { 

     NSPredicate *predicate = [NSPredicate predicateWithFormat:@"details.muscle == %@", @"Biceps"]; 
     [fetchRequest setPredicate:predicate]; 

    } 

    else if ([self.title isEqual: @"Arms"]) { 

     NSPredicate *predicate = [NSPredicate predicateWithFormat:@"details.muscle == %@", @"Biceps"]; 
     [fetchRequest setPredicate:predicate ]; 

    } 

    else { 

     NSPredicate *predicate = [NSPredicate predicateWithFormat:@"details.muscle == %@", @"Chest"]; 
     [fetchRequest setPredicate:predicate ]; 

} 

어떤 제안?

+1

'NSLog (@ "% @", self.title)'을 실행하고 값을 확인하십시오. 제목이 nil이거나 다른 문자가있을 수 있습니다. – danypata

+0

감사합니다. 그것은 주 (主)로서 나타났다. 그리고 if 문 중 하나를 이렇게 변경했습니다. 나는 이것을 지금 고쳤다. 내 바보 같은 실수. – Sgillon

답변

0

나는 당신이 당신이 값을 비교하고자하는 표시되는 위치를 isEqualToString:

isEqual:는, 객체를 비교 찾고 생각합니다.

+0

'isEqualToString'으로 시도했지만 여전히 작동하지 않았다. – Sgillon

+1

'self.title'을 확인하기 위해 중단 점이나 디버그 로그를 넣었습니까? – utahwithak

+0

나는했지만 아무 소용이 없었다. 나는 self.title이 뷰 contoller의 제목이었던 것으로 추정 했습니까? 대신 Seague를 타겟팅 할 수 있습니까? – Sgillon

관련 문제