子类 NSArrayController 绑定到自定义 属性

Subclassed NSArrayController bind to custom property

我在 XCode 10,Objective-C,Mac OSX,而不是 iOS。

我已经将 NSArrayController 子类化以创建一个新的 属性 来绑定。

SHArrayController.h

@property (nonatomic) BOOL hasItems;

SHArrayController.m

- (BOOL)hasItems
{
    return ([self.arrangedObjects count] > 0);
}

如果我将任何内容绑定到 属性,我不会收到更改通知。 如果我将一个对象添加到 arrayController,"hasItems" 应该改变。

这是我添加对象的方式:

[self.arrayController willChangeValueForKey:@"hasItems"];
[self.arrayController addObject:SomeObject];
[self.arrayController didChangeValueForKey:@"hasItems"];

我做错了什么?

编辑:ArrayController 已正确实例化,要添加的对象也已正确实例化。

这是我的错。该值确实发生了变化,并且通知有效。我只是犯了一个错误。以上实现正确。