子类 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 已正确实例化,要添加的对象也已正确实例化。
这是我的错。该值确实发生了变化,并且通知有效。我只是犯了一个错误。以上实现正确。
我在 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 已正确实例化,要添加的对象也已正确实例化。
这是我的错。该值确实发生了变化,并且通知有效。我只是犯了一个错误。以上实现正确。