将一个 NSTextField 绑定到多个属性

问题描述

我试图在 Inspector 视图中进行多次编辑,我选择了两个对象,我想同时编辑它们的两个 houseName 属性

class House: NSObject {
    dynamic var houseName: String
}

var house1: House()
var house2: House()

houseNameTextField.bind(.value,to: house1,withKeyPath: "houseName",options: [])

如果我绑定了第一个房子,我可以很好地更改属性,但是,我可以将第二个属性绑定到同一个 textField,所以当我编辑 textfield 时,两个属性都会更新吗?

再次调用 .bind 只会覆盖第一个绑定

解决方法

我找到了一个适合我的解决方案,我需要创建一个 ArrayController 并使用“选择”键,它神奇地工作

#[derive(Deserialize)]
struct UserUpdateReq {
    uuid: Option<i32>,first_name: Option<String>,last_name: Option<String>,}

fn update_user(req: Json) => Result<Response<Vec<i32>>,String>{

   let req: UserUpdateReq = try_s!(json::from_value(req));

   // Here I need to validate optional parameters
   // checking both parameters have a value. In case both are None,return err message
   // if any one value is present update that value.

}