코어 데이터를 사용하여 문서 기반 프로젝트를 만들고 있으며, 개념적 문제 일 수 있습니다. 코코아에 익숙하지는 않지만, 이것은 Core Data를 활용하려는 나의 첫 번째 시도입니다. 내가 성취하고자하는 것은 상대적으로 간단해야합니다. 각각의 새 문서가 출시 될 때마다 "루트"객체로 사용되는 모델 객체 중 하나의 인스턴스가 새로 생성되기를 바랍니다.핵심 데이터 : 문서 기반 응용 프로그램에서 "루트 개체"인스턴스화
내가 한 일은 NSObjectController를 내 xib에 추가하고 해당 엔티티 이름을 제공된 엔티티 이름으로 설정하고 "내용 준비"를 선택하고 관리 객체 컨텍스트를 managedObjectContext를 사용하여 File 's Owner에 바인딩하는 것입니다. 모델 키 패스 이를 테스트하기 위해 메인 윈도우의 제목을 객체 컨트롤러의 컨트롤러 키와 선택 항목으로 모델 키 경로를 내 엔터티의 키 중 하나로 묶었습니다.
루트 객체를 프로그래밍 방식으로 만들 수 있지만 Apple에서 권장하는 조정자 패턴을 채택하려고합니다. 나는 "중재자 패턴 채택"부분에서 부서 직원 지침서의 지침을 보았고 자세한 단계는 정확하게 내가 한 것으로 믿는다.
의견이 있으십니까?
편집 : 아마도이 문제를 올바르게 언급하지 않았습니다. 모델은 핵심 데이터에서 만들어지며 관계는 ("루트", 자식 및 잎, 1 대 부모 관계, 다수 자식 관계 및 isLeaf 부울 특성을 사용하여) 필요한대로 설정됩니다. 내 문제는이 루트 개체가 새 문서가 시작될 때마다 싱글 톤으로 인스턴스화되는지 확인하는 것입니다. 루트 객체와 현재 문서 사이에는 정확히 1 : 1의 관계가 있어야하며, 루트 객체는 사용자 상호 작용없이 항상 존재하고 사용할 수 있어야 생성 할 수 있으며 루트에 생성되고 연결된 자식 노드는 데이터 객체입니다 응용 프로그램에서 사용하고 조작합니다.
위의 기능을 프로그래밍 방식으로 구현했지만 핵심 데이터 원칙에 따라 조정자 패턴을 완전히 채택하고 응용 프로그램 논리 내에서 데이터 개체 생성을 관리하지 않으려합니다.
실제로 트리 계층 구조는이 특정 프로젝트에 적용 할 수있는 실제 모델을 반영합니다. – kcalvelli
맞는 경우, 예제에 표시되거나 다른 API에서 사용될 수 있기 때문에 트리 구조를 사용하지 않도록주의해야합니다. – TechZen