如何在没有代理对象的情况下从 NSArrayController 中获取选定的对象?
How to get selected objects from NSArrayController without a proxy object?
我正在尝试在由 NSArrayController
支持的 NSTableView
中实现多个对象的复制和粘贴。我的 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];
}
}
当我尝试执行复制时,访问控制器的选择时出现错误,因为它 returns 是一个代理对象:
-[_NSControllerObjectProxy countByEnumeratingWithState:objects:count:]: unrecognized selector sent to instance 0x7f88b362d580
如何获取实际选中的对象?
答案非常明显:改用 self.arrayController.selectedObjects
。
我正在尝试在由 NSArrayController
支持的 NSTableView
中实现多个对象的复制和粘贴。我的 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];
}
}
当我尝试执行复制时,访问控制器的选择时出现错误,因为它 returns 是一个代理对象:
-[_NSControllerObjectProxy countByEnumeratingWithState:objects:count:]: unrecognized selector sent to instance 0x7f88b362d580
如何获取实际选中的对象?
答案非常明显:改用 self.arrayController.selectedObjects
。