какао: перетащите файлы из моего приложения (пути к файлам, содержащиеся в NSTableView) в другое приложение (поиск, почта и т. д.) - PullRequest
3 голосов
/ 03 апреля 2011

Мое приложение содержит массив путей к файлам, содержащихся в подклассе NSTableView, я хотел бы иметь возможность перетаскивать эти файлы (и папки) из моего приложения в другие приложения.

Я следовал этой статье:http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/TableView/Tasks/UsingDragAndDrop.html
но это не сработало.
Это: http://developer.apple.com/library/mac/#documentation/cocoa/Conceptual/DragandDrop/Tasks/DraggingFiles.html#//apple_ref/doc/uid/20001288-CEGJFDFG, с использованием первого метода (mouseDown и executeDragOperation), но что-то вроде mouseDragged было бы намного лучше.

Я скачал и посмотрел пример DragNDropOutlineView, но я не нашел то, что хотел (они перетаскивают обещания файлов).

Что мне не хватает?

Спасибо.

РЕДАКТИРОВАТЬ: мне в конце концов удалось это сделать.Я следовал инструкции по 1-й ссылке (http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/TableView/Tasks/UsingDragAndDrop.html), но мне пришлось добавить следующие строки в мой метод awakeFromNib, чтобы он работал:

[resultTable setDraggingSourceOperationMask:NSDragOperationNone forLocal:YES];  
[resultTable setDraggingSourceOperationMask:NSDragOperationEvery forLocal:NO];

resultTable, являющийся экземпляром моего подкласса NSTableView.

...