2014-04-17 2 views
0

코어 데이터에서 저장된 데이터를 검색 할 때 검색 중에 오래된 저장된 데이터를 제공합니다. 내 실수를 찾으려면 도움이 필요하십니까코어 데이터에서 저장된 데이터를 가져올 수 없습니다.

- (void)retrieveDataFromCoreData 
{ 
    NSManagedObjectContext *context = [self managedObjectContext]; 

    NSEntityDescription *entityDesc = [NSEntityDescription entityForName:@"VitaminData" inManagedObjectContext:context]; 

    NSFetchRequest *request = [[NSFetchRequest alloc] init]; 
    [request setEntity:entityDesc]; 

    NSError *error = nil; 
    NSArray *objects = [context executeFetchRequest:request 
    error:&error]; 

    NSString *matchFound = nil; 
    matches = [[NSMutableArray alloc]init]; 
    if ([objects count] == 0) { 
    //matchFound = @"No matches"; 
    } else { 
    matches = objects[0]; 
    matchFound = [matches valueForKey:@"userdetails"]; 
    } 

NSLog("retrieved data : %@",matchFound); 
} 
+0

첫 번째 배열뿐만 아니라 배열의 다른 개체도 확인하십시오. – wootage

+0

여기에서 검색하지 않습니다. 매번 첫 번째 객체를 가져와야합니다. 검색하려면 조건을 지정하는 NSFetchRequest로 NSPredicate를 설정하십시오. – Akhilrajtr

+0

응답 주셔서 감사합니다 – suneel

답변

0

가져 오기 요청에 술어가 없습니다. 그러면 데이터 저장소에있는 모든 VitaminData 엔티티를 가져올 수 있습니다.

프리디 케이트와 (아마도) 일부 정렬 설명자를 제공하십시오. 그런 다음 결과를 반복합니다. 또한 -executeFetchRequest: 다음에 objectsnil이 아닌지 확인해야합니다. objectsnil 인 경우 가져 오기 요청에 오류가 있으며 error의 내용을 확인해야합니다.

+0

응답 주셔서 감사합니다 – suneel

관련 문제