2

얘들 아, 여기 내 질문이다.
나는 CoreData + Source List + NSTreeController를 사용하여 Finder (또는 원하는 경우 iTunes)의 소스 목록과 비슷한 것을 만들 것입니다.
제 문제는 제가 소스 목록에있는 것이 CoreData에서 온 것이 아니라는 것입니다. 예를 들어 CoreData를 사용하여 채워지는 "핵심 데이터의 데이터"라는 섹션 (루트)이 있지만 런타임에 생성되는 "가짜"섹션 (예 : "즐겨 찾기"섹션)이 있습니다.
이런 이유로 OutlineView와 NSTreeController를 엔티티를 사용하는 CoreData에 직접 바인딩하는 것이 가능하지 않으며 CoreData와 "fake"섹션에서 오는 데이터로 시작하여 NSMutableArray와 같은 중간체를 사용해야한다고 생각합니다 (예 : Apple의 "SourceView"예제에서와 같이) 멤버에 대한 임시 클래스. 이것이 첫 번째 질문입니다. (1) 나는 이것을 제대로하고 있습니까?
두 번째 질문은이 NSMutableArray에 관한 것입니다. 이 배열을 사용하는 것이 해결책이 될 수 있다고 가정 해 봅시다. 배열을 채우는 올바른 방법이 무엇인지 궁금합니다. "SourceView"예제에서 중간 배열은 NSTreeController (insertObject :)를 사용하여 런타임에 채워지지만 다른 솔루션 NSMutableArray를 하위 클래스로 만들고 배열의 내용을 직접 변경하려고 생각했습니다. (2) 내가 MVC를 이런 방식으로 위반하고 있는가?CoreData, SourceList 및 NSTreeController

답변

0

영구 노드를 런타임시에만 존재하는 임시 노드와 혼합하는 한 가지 방법은 persistentStoreCoordinator에 NSInMemoryStoreType 저장소를 추가하는 것입니다. 이렇게하는 방법에 대한 자습서는 다음과 같습니다. http://simplyhacking.com/source-list-with-core-data.html