我完全不知道为什么这不起作用。我正在尝试将新的NSTreeNode插入到一个可变的子节点数组中。这是代码:
NSTreeNode *newNode = [[NSTreeNode alloc] init];
NSMutableArray *children = [anExistingParentTreeNode mutableChildNodes];
[children addObject:newNode];
执行后,我会遇到各种错误:
这些错误似乎与KVO有关。有没有人使用mutableChildNodes遇到这样的错误?非常感谢任何帮助。
注意:底层的NSTreeController通过托管对象上下文绑定到核心数据。
答案 0 :(得分:1)
您是否未正确初始化newNode
对象?
为该类定义的唯一init
方法是:
- (id)initWithRepresentedObject:(id)modelObject
使用init
时,您只需使用从NSObject
继承的默认实现。
通常,一个类有一个或多个指定的初始值设定项,但在NSTreeNode
的情况下,我看不到它是在文档中指定的。但是,由于只为该类定义了一个初始化程序,并且没有用于在稍后阶段设置所表示对象的setter方法,因此我得出结论:initWithRepresentedObject:
是该类的指定初始化程序。
答案 1 :(得分:-1)
请参阅我对原始问题的最新评论。