CoreData 엔티티에서 객체 비교가 어떻게 이루어 졌는지 궁금합니다. 대다 관계가있는 두 개의 엔티티가 있다고 가정합니다. 지금은 모든 EntityB이 entityA을 통과 검색 할CoreData에서 객체 생성 및 비교에 대한 이해
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"prop1=%@",x];
EntityA *entityA = //execute fetch
:
EntityA {
prop1
entityB <-- to-many relationship
}
EntityB {
.... properties
entityA <-- one-to-one relationship
}
나는의 단 하나의 EntityA 같은 기준을 만족이 가정 해 봅시다 단순 들어, 자 NSPredicate와 특정 prop1와 엔티티를 검색 할 치죠
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"EntityA=%@",entityA];
EntityB *entityB = //execute fetch
EntityA *parentA = entityB.entityA;
내가 어떤 메소드를 오버라이드 (override)하지 않았다고 생각이 시점에서
하지만 EntityA 및 EntityB 그냥 NSManagedObject을 확장, 재 일 것입니다 무슨 : 기준으로 이 성명서 sult?
if(entityA==parentA) NSLog(@"YES");
else NSLog("NO");
"예"의 경우 왜 그런 결과가 나타 납니까? 그리고 동일한 사형 집행에서 얼마나 많은 물건을 가지고 있습니까? 예를 들어 내가 알고있는 영속 계층을 사용하면 두 개의 별개의 객체가 생기고 관련 클래스의 equals 메소드를 오버라이드하고 거기에 로직을 구현하는 경우에만 비교가 "예"가됩니다.
이 경우 CoreData가 일종의 캐싱 및 재사용을하고 있는지 궁금합니다.
감사
오브젝티브 C==
에서