내 핵심 데이터 모델 구조 계획을 결정하는 데 어려움이있는 것처럼 보입니다. 핵심 데이터가 내 경우에 어떻게 작동해야하는지 명확하게 알지 못하기 때문입니다. 이제 엔티티가 Customer
및 City
입니다. 각각에 속성이 거의 없으며 지금은 관계가 없습니다. 그들은 둘 다 다른 객체와 많은 관계를 가지고 있으므로 완전히 독립적 인 객체입니다. 내 Customer
엔티티에서 어떤 고객이 위치해 있는지 city
속성이 있습니다. 그것의 값은 name
(도시의 이름) City
엔터티의 값과 일치해야합니다. 스키마는 다음과 같습니다. 핵심 데이터 모델 계획
에 대한 객체는 웹에서 JSON 파일을 구문 분석하여 구성되며 이제이 부분이 올바르게 작동합니다. 나는 City
엔티티에서 이름 속성 값을 검색하고 도시의 속성에 저장합니다 Customer
위해 (엔티티에서 생성) NSManagedObject 하위 클래스에 메소드를 추가 :
- (City *)city
{
return (City *)[[PTDataFetchHelper sharedInstance] entityForName:@"City" withServerID:self.city_server_id inContext:[self managedObjectContext]];
}
이 관계없이 작동하지만, 내 jQuery과 (내가 NSFetchedResultsController를 사용하고 소스 같은) 가져 오기 이런 종류의 끔찍한 일을 시작합니다. 또한이 스키마를 사용하면 Customer
과 City
개체 모두에서 검색을 구현할 수 없다는 것을 이해합니다. 한 종류의 개체에서만 가져올 수 있습니다. 이 두 가지에 대해 상위 엔티티를 만들 수 있지만 논리 적으로나 구조적으로 독립적 인 것으로 나타났습니다. 이 두 가지 문제를 해결하는 가장 좋은 방법은 무엇입니까? 모든 의견을 감사드립니다.
NSBum, 당신은 절대적으로 맞습니다. 여기서 관계를 피할 필요가 없습니다. 이전 프로그래머의 코드 일 뿐이므로 수정해야합니다. 문서는 우리가 하나의 엔티티의 속성뿐만 아니라 관계와 술어를 사용하여 모든 곳의 모든 것을 가져올 수 있음을 알려주며 두 가지 문제를 모두 해결할 수 있습니다. 도와 주셔서 감사합니다! – Alex
관계없이 동일한 아키텍처를 유지하려는 경우'city' getter가'City' 객체에서 도시 이름을 한 번 가져 오는 것으로 약간의 성능 향상을 얻을 수 있습니다. – FluffulousChimp
손대지 않은 데이터 모델을 유지할 필요가 없으므로 엔티티 간의 관계를 구현합니다. 다시 한 번 감사드립니다! – Alex