2017-09-03 14 views
2

我试图按照来自B.A的Learning Swift书(创建笔记应用程序)的说明操作。 Paris & Co,但是遇到以下绑定问题。我主要在练习iOS编程,所以绑定概念对我来说是新的。OSX中的绑定:class不是键值编码兼容的关键字{name of binding var}

步骤I制成(尝试都xcode的9测试版5和8.3.3):

  1. 创建OSX可可应用程序(不使用故事板,基于文档的应用程序 - 对,文件扩展名 “试验”,别T选用核心数据)
  2. 添加“变种文字= NSAttributedString()”,以Document.swift
  3. 添加NSTextView到Document.xib
  4. 在NSTextView设置的绑定检查“属性串”到文件的拥有者“的自我。文字“(型号关键路径)

而且我看到感叹号与概念“的Xcode无法解决进入关键路径” 构建是成功的,但是当我运行它说:“2017年9月3日22:17:40.739643 + 0200 TEST3 [6017: 424072] [< test3.Document 0x6180000c3410> valueForUndefinedKey:]:此类不是密钥值的密钥文本兼容的编码,“

我试图从厦门国际银行斯威夫特调速拖动,就警告说,“Xcode中无法找到。当前工作空间中的类文档“。

我试图转换到工作区而不是proj,检查文件的所有者,检查与错误相关的stackoverflow线程 - 但他们主要关心一些连接错误或非实际连接(我可以删除连接,我知道什么是错误的,问题是如何使它正确)。到目前为止找不到解决方案。

在此先感谢

+0

我也试图检查“继承模块从目标”,并在文件的所有者明确选择模块识别检查 – Andrey

回答

3

你需要声明text属性与@objc属性,使其通过类似键值编码动态分配访问。

另外,因为您希望通过键值观察(对于绑定)来观察对属性的修改,所以您需要告诉Swift始终动态地发送修改。所以,你需要使用dynamic修改的声明,也:

@objc dynamic var text = NSAttributedString() 
+0

作品,谢谢:) –

相关问题