2011-04-29 3 views
0

어떻게해야합니까? 표시기 == 1.로 결과를 가져옵니다. (다른보기에서 UISwitch에 표시기를 연결했습니다.)If FetchRequest에 대한 진술

[request setPredicate:[NSPredicate predicateWithFormat:@"indicator == 1"]]; 

그게가 설정 한 이벤트 만이 발생할 수 있습니다 : 그래서 당신의 인출 요청에 술어를 추가 나는 제목의 테이블을 원하지만 표시 1.

-(void)reload 
{ 
    NSFetchRequest *request = [[NSFetchRequest alloc] init]; 
    NSEntityDescription *entity = [NSEntityDescription entityForName:@"Event" inManagedObjectContext:managedObjectContext]; 
    [request setEntity:entity]; 

    NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"Title" ascending:YES]; 
    NSSortDescriptor *sortDescriptor2 = [[NSSortDescriptor alloc]initWithKey:@"indicator" ascending:YES]; 
    NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor, sortDescriptor2, nil]; 
    [request setSortDescriptors:sortDescriptors]; 
    [sortDescriptors release]; 
    [sortDescriptor release]; 

    NSError *error = nil; 
    NSMutableArray *mutableFetchResults = [[managedObjectContext executeFetchRequest:request error:&error] mutableCopy]; 
    if (mutableFetchResults == nil) { 
     // Handle the error. 
    } 

    [self setList:mutableFetchResults]; 
    [mutableFetchResults release]; 
    [request release]; 
} 

답변

0

경우에만 반환됩니다. sortDescriptor2도 정렬 설명자에서 제거합니다. 표시기 키가 모두 동일한 값을 가질 때 정렬 키 작업을하는 것은 의미가 없습니다.

+0

나는 predDescriptors, 신참 실수로 술어를 혼동했다 ... – Eric