2012-04-02 2 views
3

Во-первых, я хотел бы упомянуть, что я использовал Apple Sample Code for the AbstractTree example.NSOutlineView + NSTreeController + CoreData + Bindings Дублирование строк

У меня есть привязки, работающие до такой степени, что они отображают узлы, и две кнопки, которые установлены в add: и remove:, тоже работают.

Проблема, с которой я сталкиваюсь, - это когда я перетаскиваю один из узлов в другой узел, чтобы сделать его дочерним. Вы можете видеть на картинке ниже, что я сделал 2a и 2b перетащить под 2, которые они делают, но они не удаляют, откуда я их вытащил. Кроме того, если я удаляю любой из них , оба файла удаляются.

Я использую эту модель http://f.cl.ly/items/3X1h162l3C2G230z1d1c/Screen%20Shot%202012-04-02%20at%2017.43.09.png данных.

Я установил режим TreeController для Entity с его именем как Узел (как в моей модели), который является дочерним ключом пути к children. Я также связал его MOM с делегатом приложения с помощью пути ключа модели управляемого ObjectContext.

я связан значение Table Column к TreeController, его контроллер ключа arrangedObjects и его модель ключа путь, name.

Я загрузил файлы здесь, если вам нужны: link

Может кто-нибудь мне помочь? Я новичок, когда дело доходит до CoreData!

Большое спасибо, Gareth

+0

Проект, который вы ссылаетесь не выглядеть ваш скриншот и модели вы описываете. –

ответ

1

Просто установите выборки предиката вашего NSTreeControler к

parent == nil 

и вы можете получить этот результат. Thx для тестового приложения :)

enter image description here

+0

Спасибо Stephan :) – GarethPrice

+0

@GarethPrice, пожалуйста. Ответ на эти вопросы может вас заинтересовать: http://stackoverflow.com/questions/7039165/ Я ожидаю, что следующая вещь будет потеряна в произвольном порядке ваш список, поскольку отношения CoreData по умолчанию не упорядочены. – Stephan

Смежные вопросы