2012-04-02 3 views
3

먼저 Apple Sample Code for the AbstractTree example을 사용하고 있음을 말씀 드리고 싶습니다.NSOutlineView + NSTreeController + CoreData + Bindings 중복 행

노드를 표시하는 시점까지 바인딩이 작동하고 add:remove:으로 설정된 두 개의 단추도 작동합니다.

내가 마주 치게되는 문제는 노드 중 하나를 다른 노드로 드래그하여 자식으로 만들 때 발생하는 문제입니다. 아래 이미지에서 2a2b을 2보다 아래로 드래그했는데, 이지만 드래그 한 위치는 삭제되지 않습니다. 또한 어느 하나라도 삭제하면 모두이 삭제됩니다.

나는이 http://f.cl.ly/items/3X1h162l3C2G230z1d1c/Screen%20Shot%202012-04-02%20at%2017.43.09.png 데이터 모델을 사용하고 있습니다.

TreeController 모드를 노드 이름으로 노드에 설정합니다 (내 모델에서와 마찬가지로). 키 키 경로는 children입니다. 또한 관리되는 ObjectContext의 모델 키 경로를 사용하여 응용 프로그램 대리인에게 MOM을 바인딩했습니다.

Table Column의 값은 TreeController이고 컨트롤러 키는 arrangedObjects이고 모델 키 경로는 name입니다. link

누군가가 나를 도울 수

: 당신이 그들을 필요로하는 경우

나는 여기에 파일을 업로드 한? 나는 CoreData에 관해서는 멍청하다.

많은 감사,

+0

당신이 당신의 스크린 샷 및 설명하는 모델처럼 보이지 않는에 연결하는 프로젝트. –

답변

1

가레스 그냥

parent == nil 

에 NSTreeControler의 인출 조건을 설정하고이 결과를 얻을 수 있습니다. 테스트 응용 프로그램에 대한 들으 :)

enter image description here

+0

스테판 감사합니다 :) – GarethPrice

+0

@GarethPrice 당신은 환영합니다 ..이 질문에 대한 답변도 당신에게 관심을 가질 수 있습니다 : http://stackoverflow.com/questions/7039165/ 나는 다음 일이 임의의 순서의 손실 것입니다 기대 CoreData 관계는 기본적으로 정렬되지 않기 때문에 목록에 추가됩니다. – Stephan