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