У меня есть приложение Какао с 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