簡體   English   中英

將一個 NSTextField 綁定到多個屬性

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM