子类化NSArrayController绑定到自定义属性

时间:2019-01-25 16:04:18

标签: objective-c nsarraycontroller

我使用的是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正确实例化,要添加的对象也正确。

1 个答案:

答案 0 :(得分:0)

这是我的错。该值确实发生了更改,并且通知起作用了。我刚弄错了上面的实现是正确的。