: UserNumber와 사용자 정보 사이에 일대일 양방향 관계가
있도록, 그때는 아마 당신은 '수'를 가질 수있는 것 같다 수 UserInfo의 속성이며 모델을 단순화합니다. (숫자가 각 UserInfo에 대해 고유 한 경우입니까?)
그러나 현재 모델을 사용하면 일대일 관계로 가정 할 때 UserNumber에 'number' 속성과 UserInfo를 가리키는 'info'라는 일대일 관계가 있습니다.
// Search for UserNumber that has NSString* pinCode as value for attribute PIN
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
[fetchRequest setEntity:[NSEntityDescription entityForName:@"UserNumber"
inManagedObjectContext:managedObjectContext]];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"PIN contains[cd] %@", pinCode];
[fetchRequest setPredicate:predicate];
NSError *error = nil;
NSArray *items = [managedObjectContext executeFetchRequest:fetchRequest error:&error];
[fetchRequest release];
// UserNumber with matching PIN was found, so set name of associated UserInfo.
if ([items count] == 1)
{
UserNumber *userNumber = [items lastObject];
UserInfo *userInfo = [userNumber info];
[userInfo setName:nameField.text];
}
항목에는 0 개 또는 하나의 요소가 있어야합니다. 하나 인 경우 첫 번째 요소는 일치하는 UserNumber입니다. 해당 UserNumber의 '정보'관계를 탐색하면 해당 UserInfo를 얻을 수 있습니다 - 이전에 링크를 제대로 만들었 으면 제공됩니다.
이 코드를 작성에서 업데이트
, 나는 실제로 당신이 ;-) 뭘 하려는지 이해하지 못하는 것을 깨달았다. 이 과정이 등록 절차의 일부입니까? 그렇다면 객체 간 관계가 및 인 UserInfo 객체 생성을 처리해야합니다. 또는 로그인의 일부입니까? 또는 사용자 정보 편집의 일부입니까? 어쨌든, 이것이 도움이되기를 바랍니다.
그래서 루프를 피하고 Core Data가 UserNumber 인스턴스와 연결된 UserInfo 인스턴스를 반환하도록 하시겠습니까? 그렇다면 가져 오기에서 NSPredicate를 만드는 방법을 살펴보십시오. –
궁극적으로 제 의도는 주어진 이름을 자신의 이름에 연결하는 것입니다. 꽤 많이 두 개의 값과 이름을 포함하는 아주 간단한 행을 만들고 싶습니다. 그러나 나는 그들의 고유 번호에 그들의 이름을 묶는 방법을 모른다. 그 말이 맞는다면. –