0
我有一个静态过滤器可以根据是否选中复选框来打开/关闭NSArrayController。现在我已经绑定的复选框值这样:基于复选框启用NSArrayController谓词
private dynamic var filterPending: NSNumber! {
willSet {
willChangeValueForKey("filterPredicate")
}
didSet {
didChangeValueForKey("filterPredicate")
}
}
,然后我绑定的NSArrayController的到这个过滤器:
private dynamic var filterPredicate: NSPredicate? {
guard let filter = filterPending?.boolValue where filter == true else { return nil }
return NSPredicate(format: "pending > 0")
}
这似乎能正常工作,但感觉也许我错过了一些更简单的方法来做到这一点?
在ObjcC这将是'+(NSSet中*) keyPathsForValuesAffectingFilterPredicate {return [NSSet setWithObjects:@“filterPending”,nil]; '',不知道如何迅速转化。 –
我也可以这样做,而不是filterPending。我认为可能有一个更简单的方法,而不是有一个'东西'说谓词需要改变,另一个谓词。基本上有没有一种更干净的方式来做到这一点,而没有在代码中完成这两个元素。 – Gargoyle