CoreData를 처음 접했고 MySQL-DB 배경을 사용하기 때문에 CoreData Moddeling은 이해하기 어렵습니다. 이 기본적인 질문으로 나를 도울 수 있다고 확신합니다.CoreData 기본 대 다 관계 배열 데이터
CoreData 모델-descripton는 : 내 데이터베이스 모델은 기본적으로 두 개체로 구성되어 있습니다. 첫 번째는 "관리자", 두 번째는 "우편 번호"라고합니다. "관리자"에는 현재 3 개의 속성이 있으며이 속성은 무시할 수 있습니다. 제 의견으로는 중요한 것은 "우편 번호"라는 관계입니다. "Zipcodes"-Entity에는 zip이라는 속성이 있습니다.이 속성은 16 정수입니다. 그것은 "매니저"라고 불리는 관계를 가지고 있습니다.
아니요. 요점 : 각 관리자는 모든 판매를 담당하는 여러 개의 zicode가 있습니다. 문제는 이제 관리자 엔티티를 설정하고 여러 ziplcode를 연결하려고합니다. 관리자 별 zipcode는 하나의 쉼표로 구분 된 문자열로 구분됩니다. (12345,56789, ...)
먼저 관리자 엔티티를 만듭니다.
Manager *manager = [NSEntityDescription insertNewObjectForEntityForName:@"Manager" inManagedObjectContext:self.managedObjectContext];
다음 단계는 모든 zicode를 배열로 분리하는 것입니다.
Manager *manager = [NSEntityDescription insertNewObjectForEntityForName:@"Manager" inManagedObjectContext:self.managedObjectContext];
NSArray *zipcodesArray = [[dict objectForKey:@"zipcodes"] componentsSeparatedByString:@","];
for (NSString *zip in zipcodesArray) {
???
}
이제는 내가 갇혀있는 지점입니다. 나중에 Zipcode를 searchBar를 통해 확인해야하므로 데이터베이스에서 구분해야합니다. 이제 각 우편 번호에 대해 managedObjectModel을 만들어야합니까? "하나"의 매니저 엔티티를 모두 연결하려면 어떻게해야합니까? 나는 그것을 성취 할 수있는 방법이 있음을 확신하지만 나는 어떻게해야 할지를 정말로 모른다.
제 질문은 이해할 수 있기를 바랍니다. 알고 싶은 것이 있으면 언제든지 물어보십시오.
감사합니다.
어쨌든. 나는 항상 매니저와 우편 번호를 일종의 히라이시 (hirachy)라고 생각했다. 그래서 나는 관리자 -> 우편 번호로 연결해야한다고 생각했습니다. 당신의 도움을 주셔서 감사합니다! 정말 감사! 그런데 엔티티 관계를 나중에 업데이트 할 수 있습니까? – rdesign
실제로 "이후"는 없습니다. 우편 번호 관리자 필드를 설정할 때마다 릴레이션 (양방향)이 업데이트됩니다. 그런데 원하는 경우 릴레이션의 다른 쪽 끝을 수정할 수도 있습니다. 이 경우, 당신은'NSMutableSet * zipCodes = [manager mutableSetValueForKey : @ "zipcodes"];'를 실행하기를 원할 것입니다. 그런 다음 변경 가능 세트를 수정하여 관리자와 연관된 우편 번호 세트를 수정할 수 있습니다 (그리고 다시 역관계 우편 번호에서 관리자까지 자동으로 설정됩니다. – edsko