我使用的是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正确实例化,要添加的对象也正确。
答案 0 :(得分:0)
这是我的错。该值确实发生了更改,并且通知起作用了。我刚弄错了上面的实现是正确的。