Как получить выбранные объекты из 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 вместо.

Другие вопросы по тегам