代码之家  ›  专栏  ›  技术社区  ›  Mike Nathas

Xcode-将textfield绑定到Swift字典的元素

  •  1
  • Mike Nathas  · 技术社区  · 8 年前

    我确实通过接口生成器将文本字段绑定到Swift字典值。在文本字段中,从字典中提取正确的值并显示在文本字段。

    当我更改dict via中元素的值时

    myDict["Textfield1"] = "New value"
    

    更改在文本字段中不可见。 当我将textfield的值绑定到类的属性时,对该属性的任何更改都会立即显示在textfield中。 我错过了什么吗?

    谢谢

    1 回复  |  直到 8 年前
        1
  •  1
  •   Maury Markowitz    8 年前

    所以基本上,它不会起作用。绑定通过使用KVO/KVN系统工作,当Obj-C对象更改其值时,该系统会发出通知。这很聪明,但他们没有把它移植到斯威夫特。此外,Swift中的字典是值类型。

    NSObject Here's a page 如何做到这一点。

    但更好的方法是使用 dynamic Swift集合中的关键字, myDict 这将触发到Obj-C的桥接,因此您将获得KVO。现在我还没有把它用在斯威夫特字典上,所以我不确定会发生什么。你可能需要 NSDictionary。但这只是一个小小的改变,所以一定要 动态 一次尝试!