OSX中的绑定:类不适合键值编码符合键{binding var}的名称



我试图遵循B.A.学习Swift Book(创建Note tote App)的说明。巴黎CO,但面对以下绑定问题。我主要是在练习iOS编程,因此具有约束力的概念对我来说是新的。

我制作的步骤(同时尝试了xcode 9 beta 5和8.3.3):

  1. 创建OSX可可应用程序(不使用故事板,基于文档的应用程序 - ON,Document扩展"测试",不要使用核心数据)
  2. 将" var text = nsattributedString()"添加到document.swift
  3. 向document.xib添加nstextview
  4. 在nstextview的绑定检查器中,将"属于字符串"设置为文件所有者" self.text"(模型密钥路径)

我看到带有概念的感叹号" xcode无法解决输入的密钥路径"构建成功,但是当我运行时," 2017-09-03 22:17:40.739643 0200 test3 [6017:424072] [< test; test3.document 0x6180000C3410> valueforundefinedkey:]:]该类别不是关键值编码符合密钥编码符合密钥编码的键编码。对于关键文本。"

我试图控制从Xib到Swift的拖动,它警告说:" Xcode无法在当前工作区中找到类文档"。

我尝试转换为工作区而不是proj,检查了文件所有者,检查了与错误有关的stackoverflow螺纹与错误有关 - 但他们主要关注通过错误或非实际连接建立的某些连接(我可以删除连接,我,我知道什么是错误的,问题是如何使其正确)。到目前为止找不到解决方案。

预先感谢

您需要使用@objc属性声明text属性,以使其可以通过Dynamic Dispatch(例如键值编码)访问。

另外,由于您希望通过观察键值(对于绑定)观察属性的修改,因此您需要告诉Swift始终动态派遣IT的修改。因此,您也需要在声明上使用dynamic修饰符:

@objc dynamic var text = NSAttributedString()

最新更新