2010-03-10 3 views
1

나는 Obj-C를 가르쳐 왔으며 코코아를 스스로 가르쳤다.하지만 내 프로그램에 핵심 데이터를 추가하면 커스텀 로직을 필요로하기 때문에 커다란 두통 만 겪었다. 저를 미치게 만드는 몇 가지 질문이 있습니다.NSManagedObject는 속성으로 다른 NSManagedObject를 소유 할 수 있습니까?

  1. 관리 객체가 다른 관리 객체를 소유하도록하려면 어떻게해야합니까? 내가 다 대다 관계를 맺는다면 소유 한 물건은 여러 주인들과 단순히 공유 될 것입니다. 그러나 나는 각 소유주가 자신 만의 것을 가지기를 바랍니다.

  2. NSManagedObject를 서브 클래스로 만들면 Array Controller를 간단하게 호출하여 ManagedObject의 인스턴스를 제거하거나 복사하여 코어 데이터 모델로 변환한다고 가정 할 수 있습니까?

  3. ManagedObject의 속성을 프로그래밍 방식으로 편집하려면 Array Controller에 대한 단순한 KVC 호출만으로도 해결할 수 있습니까? NSPredicate에 대한 NSFetchRequest에 대한 모든 이야기는 NSManagedDataStoreDrivingMeCrazy에서 NSManagedObjectContext로 무엇입니까? 현재 테이블 뷰에서 선택된 객체의 관계를 필터링하는 NSFetchRequest를 만들 수 있습니까?

  4. 개체 그룹을 가져 오기 위해 페치 요청을 사용하면 관계를 쿼리하는 방법은 무엇입니까? 그렇다면 전체 FetchRequest, Predicate 등이 필요합니까? 핵심 데이터가 더 쉬워 진다고 생각하지 않습니까? 내가 놓친 게 있니?

답변

2
  1. 엔티티 클래스와 비슷합니다 - 나중에 인스턴스화하는 관리되는 개체에 대한 청사진이다. 각 관리 객체에는 구성 할 자체 특성 및 관계가 있습니다.

  2. 관리 대상 개체를 삽입하고 삭제할 수 있습니다. 복사를 지원하기 위해 일부 코드를 사용해야 할 수도 있지만 확실하지 않습니다.

  3. 예, 관리 대상 개체의 속성 (특성 및 관계)은 KVC (및 KVO 및 바인딩)를 지원합니다.

  4. 모델에서 정의한 관계 이름을 사용하여 개체 또는 개체 집합에 액세스 할 수 있습니다 (추가 페치 또는 논리가 필요하지 않음).

관련 문제