我有一个NSOutlineView
由NSTreeController
.
此外,还有一个用于向大纲视图添加新元素的按钮。我将按钮的标志绑定enabled
到树控制器的canInsert
属性。
我只想允许向大纲视图添加最多 5 个元素。之后,canInsert
应该返回NO
。
我创建了自己的子类NSTreeController
并覆盖canInsert
了,但是按钮的启用状态没有改变,因为它没有意识到添加元素时树控制器发生了变化。
我还实现了:keyPathsForValuesAffectingCanInsert
并尝试返回各种属性,例如content, arrangedObjects
,但这里没有运气。
@implementation ILCustomTreeController
- (BOOL)canInsert
{
return [[self arrangedObjects] count] < 5;
}
+ (NSSet *)keyPathsForValuesAffectingCanInsert
{
return [NSSet setWithObject:@"content"]; // I also tried 'arrangedObjects'
}
@end