Я прочитал другое сообщение здесь, в Outlineviews и DND, но я не могу заставить свою программу работать. В нижней части этого сообщения есть ссылка на zip моего проекта. Его очень простой вариант с одним контуром и кнопкой. Я хочу, чтобы он получал от него текстовые файлы, но что-то не так с моим кодом или соединениями. Я пробовал использовать примерный код Apple для их NSOutline Drag and Drop, но я чего-то не хватает. 1 различие - моя программа - это программа на основе документов, а их пример - нет. Я установил Владелец Файла для получения действий делегирования, так как это мой код для обработки перетаскивания, а также действие кнопки. Вероятно, это простая ошибка, поэтому кто-то, пожалуйста, посмотрите на нее и скажите мне, что я делаю неправильно?NSOutlineView с перетаскиванием
ответ
Вы внесли вид таблицы методы перетаскивания источника данных, а не методы ретуширования источника данных схемы. Контурный вид представляет собой вид табличного представления, но он использует исключительно протокол источника данных схемы; протокол источника данных табличного представления - только для источников данных табличного представления, а не источников данных в виде схемы.
Дополнительную информацию о том, что вам нужно реализовать в источнике данных, см. В the NSOutlineViewDataSource
protocol.
Эта заметка: вам необходимо реализовать методы в источнике данных, который в настоящее время не является вашим документом. Я не знаю, почему вы так поступили; обычно документ (в его роли как контроллера) принадлежит модели, поэтому он должен быть источником данных данных - источником данных.
Я предлагаю объединить класс OutlineDataSource в класс MyDocument и изменить методы перетаскивания табличного представления на их схемы.
Для размещения исходного кода используйте Dropbox, Google Docs или MobileMe iDisk или услугу хостинга DVCS, такую как Bitbucket или GitHub. «Подождите, пожалуйста, минут минут, чтобы загрузить» = Я, например, не буду беспокоиться. –
Полагаю, вы хотите, чтобы пользователь мог отбросить текстовый файл непосредственно в виде контура, а не на вашей док-плитке? Какой объект, в частности, является владельцем вашего файла? Является ли это источником данных в виде схемы? Это делегат представления схемы? Является ли это объектом, который передает NSTreeController через Bindings? –
Возможный дубликат [Cocoa NSOutlineView и Drag-and-Drop] (http://stackoverflow.com/questions/2870803/coco-nsoutlineview-and-drag-and-drop) –