Как получить выбранные объекты из NSArrayController без прокси-объекта?
Я пытаюсь реализовать копирование и вставку нескольких объектов в NSTableView
при поддержке NSArrayController
, мой copy:
Метод выглядит так:
- (IBAction)copy:(id)sender {
if (self.arrayController.selectionIndexes.count > 0) {
NSPasteboard *pasteboard = [NSPasteboard generalPasteboard];
[pasteboard clearContents];
NSArray *copiedObjects = self.arrayController.selection;
[pasteboard writeObjects:copiedObjects];
}
}
Когда я пытаюсь выполнить копирование, я получаю ошибку при доступе к выбору контроллера, потому что он возвращает прокси-объект:
-[_NSControllerObjectProxy countByEnumeratingWithState:objects:count:]: unrecognized selector sent to instance 0x7f88b362d580
Как я могу получить фактически выбранные объекты?
1 ответ
Решение
Ответ на это невероятно очевиден: используйте self.arrayController.selectedObjects
вместо.