내 앱에는 DB를 업데이트하는 코드가 있습니다.
NSManagedObjectContext *context = [self managedObjectContext];
NSFetchRequest *fetchRequest=[NSFetchRequest fetchRequestWithEntityName:@"Struct"];
NSError *error = nil;
for (id element in array){
[fetchRequest setPredicate:[NSPredicate predicateWithFormat:@"id==%@",[element objectForKey:@"id"]]];
Struct *struct = [[context executeFetchRequest:fetchRequest error:&error] lastObject];
if (struct != nil){
//updating value of attributes
struct.name = [element objectForKey:@"n"];
struct.val = [element objectForKey:@"val"];
struct.pos = [element objectForKey:@"pos"];
}
else{
//create a new identity
}
}
모두 괜찮지 만 Struct와 관련하여 다른 두 개체가 있습니다.
"Id_Loc"(일대 다) "세부 정보"(일대일)
업데이트하는 방법을 모르겠습니다. 내 개체 'Struct'에서 호출하는 방법을 모르겠습니다. 아무것도 찾지 못합니다. 도와 줄 수 있습니까? 감사
.name, .val 및 .pos를 사용하는 것과 동일한 방식으로 작동합니다.
일대일 관계는 객체를 반환하고 일대 다 관계는 NSSet을 반환합니다.
일대일 관계가 Struct에서 Bar로, 관계 이름이 bar라고 가정하면 struct.bar를 사용하여 Bar 객체를 받게됩니다.
편집 : 일대 다 관계에 새 개체를 추가하려면 [struct addFooObject :]를 사용해야합니다. 여기서 Foo는 개체 이름입니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다