[英]Bind one NSTextField to multiple properties
我正在嘗試在 Inspector 視圖中進行多次編輯,我選擇了兩個對象,我想同時編輯它們的兩個 houseName 屬性。
class House: NSObject {
dynamic var houseName: String
}
var house1: House()
var house2: House()
houseNameTextField.bind(.value, to: house1, withKeyPath: "houseName", options: [])
如果我綁定第一個房子,我可以很好地更改屬性,但是,我可以將第二個屬性綁定到同一個文本字段,所以當我編輯文本字段時,兩個屬性都會更新嗎?
再次調用.bind 只會覆蓋第一個綁定
我找到了一個適合我的解決方案,我需要創建一個 ArrayController 並使用“選擇”鍵,它神奇地工作
let options: [NSBindingOption : Any] = [NSBindingOption.validatesImmediately: true,
NSBindingOption.allowsEditingMultipleValuesSelection: true,
NSBindingOption.multipleValuesPlaceholder: "Multiple",
NSBindingOption.nullPlaceholder: "None",
NSBindingOption.conditionallySetsEditable: true]
houseNameTextField.bind(.value, to: arrayController, withKeyPath: "selection.houseName", options: options)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.