엔티티 관계의 속성에 액세스 할 때 코어 데이터가 오류를 발생시키지 않는 이유를 알아 내는데 약간의 문제가 있습니까?코어 관계 속성에 액세스 할 때 코어 데이터가 실행되지 않음?
NSManagedObject
|
MYManagedObject (NSNumber *id)
|
MYSimpleManagedObject (NSString *name)
|
Employee
\
Manager
과 직원 및 관리자 위의 시나리오에서
NSManagedObject
|
MYManagedObject (NSNumber *id)
|
MYSimpleManagedObject (NSString *name)
|
Manager
\
Employee
가 모두 :
나는 길에 내가 지금처럼되는 내 NSManagedObjects를 서브 클래스입니다 때문에 이유가있을 수 있습니다 느낌이있다 내 데이터 모델에서 엔티티 자체가 아닌 몇 가지 다른 클래스의 하위 클래스가 아니라 많은 엔티티에 공통적 인 ID 및 이름과 같은 코드 및 속성을 캡슐화하는 데 사용한 정규 클래스. 이 모델은 그러나 내 문제는 다음 문 하지 화재 고장 대신 내가 [manager valueForKeyPath:@"employee.name"]
를 사용하는 경우에는 오류가 해고 manager.employee.name
을 수행하고 내가 필요로하는 가치를 얻을 수 있다는 것입니다 나를 위해 정말 잘 근무하고있다.
값을 사용하여 오류를 발생 시키려면 액세스 자 메서드 또는 다른 것을 재정의해야합니까?
그러나 응답은 [this] (http://www.objc.io/issue-4/core-data-models-and-model-objects.html) 게시물에서 알 수 있듯이 Entity Hierarchy vs. Class Hierarchy 섹션에서 제안한 모델을 따르는 경우 모든 하위 클래스 속성이 공통 테이블에 저장됩니까? 큰 데이터 집합을 가진 수많은 하위 클래스가있는 경우이 모든 데이터를 하나의 테이블에 저장합니다. –
퍼포먼스 히트를 겪을 것이라 생각되면 엔티티 클래스'Manager'와'Employee' 둘 다에'id'와'name'의 두 속성을 모델링하면됩니다. 그러나 당신이 정말로 성능 문제를 치지 않는 한 나는 이것을하지 않을 것이다. – Mundi