我用它的Sketch应用程序的源代码已经把头发拉了好几年了,可以在这里找到:developer.apple.com/samplecode它们将NSArrayController绑定到NSDocument中的一个数组。
当他们在NSWindowController的NSView中执行此操作时:
[mutableGraphics insertObject:_creatingGraphic atIndex:0];
它在NSDocument中调用此代码:
- (void)insertGraphics:(NSArray *)graphics atIndexes:(NSIndexSet *)indexes {
我的问题是这是怎么做到的?我希望能够以编程方式执行此操作,这里似乎有某种魔力。
我正在绑定我的NSArrayController:
[_componentsController bind:NSContentArrayBinding toObject:self withKeyPath:@"document.components" options:NULL];
但我不知道它如何调用自定义方法。
再过几天,我的头发都会消失,任何指针/提示都会受到欢迎。
由于
克里斯
答案 0 :(得分:0)
我想我已经弄明白了。 NSDocument类需要符合KVC,因此我需要以下方法:
- (NSArray *)components {
- (void)insertComponents:(NSArray *)components atIndexes:(NSIndexSet *)indexes
- (void)removeComponentsAtIndexes:(NSIndexSet *)indexes