У меня есть NSTableView
, на который я хочу позволить пользователям перетаскивать видеофайлы. Когда они удаляют файл, он добавляется в виде строки в табличном представлении.
Как бы я поступил так? В настоящее время tableview берет свои данные из контроллера массива (который берет свои данные из NSMutableArray)
Я нашел эту документацию, но не могу заставить ее работать ..
У меня есть ..
- создал класс TableCon (который я изменил, чтобы наследовать от NSTableView, а не NSObject)
- изменил класс NSTableView на TableCon
- установить выход делегата NSTableView для этого класса
- называется
registerForDraggedTypes
в инициализации TableCon
- реализовано
- (NSDragOperation)draggingEntered:(id <NSDraggingInfo>)sender;
(снова в TableCon)
.. но, ничего, он действует так, будто я ничего не менял (без ошибок), что я делаю не так?
Редактировать: Я пытался реализовать предложение Боаза Стуллера, а также нашел это описание решения ( первый ответ включает решение для первого сообщение). Итак, что я сделал сейчас ...
- Подкласс NSArrayController, который передает содержимое в табличное представление (TableListCon)
- Добавить
tableView
выход в TableListCon (и указать его на NSTableView)
- Реализация validateDrop, writeRowsWithIndexes и acceptDrop в TableListCon
- Вызывается registerForDraggedTypes на столеПросмотреть розетку.
Опять же, нет ошибок / предупреждений, но кажется, что вызывается только метод awakeFromNib (не вызывается ни один из других методов)