2013-03-06 1 views
0

테이블 뷰에서 선택한 이름으로 선택한 배열에 저장된 사용자 목록을 가져 오려고합니다.핵심 데이터 사용자 이름으로 검색

내 코드에 어떤 문제가 있습니까? 죄송합니다. CoreData를 처음 사용하게되었으므로 무엇이 잘못되었는지 알지 못합니다.

NSFetchRequest *request= [[NSFetchRequest alloc] init]; 
NSEntityDescription *entity = [NSEntityDescription entityForName:@"AUser" inManagedObjectContext:_managedObjectContext]; 
for (id a in selected) { 
    NSPredicate *predicate =[NSPredicate predicateWithFormat:@"name==%@",a]; //each user has a name attribute 
    [request setEntity:entity]; 
    [request setPredicate:predicate]; 

    NSError *error = nil; 

    NSArray *array = [_managedObjectContext executeFetchRequest:request error:&error]; 
    //This array is always empty! Why? What am I doing wrong with the request 
} 

추가 정보/추가 설명이 필요하면 알려주십시오.

다른 가지주의해야 할 -하지 여기에 선언 된 다른

덕분에 많이 선언 된 모든 변수 - 경고/오류 표시가없는!

+1

먼저 'error' 매개 변수를'executeFetchRequest : error :'로 확인하십시오. 문제가 무엇인지 정확하게 알려주는 좋은 기회입니다. –

+0

어떻게하면됩니까? NSLog (executeFetchRequest : error)를 호출하면 오류가 발생합니다. – GangstaGraham

+0

메서드 이름의 일부가 아닌 오류 자체를 기록하십시오. NSLog (@ 오류 : % @ "오류); ' –

답변

3

오류 응답을 얻지 못 했으므로 빈 배열은 가져 오기가 성공적으로 완료되었지만 조건자를 만족시키는 항목을 찾지 못했음을 의미합니다. 그러면 코드에서 selected에는 데이터 저장소에서 찾을 수있는 name의 값이 포함되지 않음을 나타냅니다.

코드는 selected이 저장된 개체의 값과 일치하는 NSString의 배열이라고 가정합니다. 그렇지 않은 경우 - 뭔가 다른 것을 포함하고 있다면 NSString 어쩌면 빈 세트가 예상됩니다. aid으로 선언된다는 사실은 저에게 실제로 무엇이 있는지 궁금합니다.

+0

여기에 +1 좋은 점 –

+0

선택한 문자열의 배열입니다. 터미널 sqlite3 도구에서 내 데이터베이스를 보았는데, 내 모델 제대로 초기화 된 것, 그냥 어떤 개체가 어떤 이유로 작성되고있는 것 같지만,이 작업을 수행해야하는 몇 가지 코드가 있습니다. 그럼에도 불구하고 여기에 제공된 코드로 최선을 다 했으므로 여기 초콜릿 칩 쿠키를 취급합니다! – GangstaGraham

관련 문제