我试图遵循B.A.的学习Swift书(创建笔记应用程序)的说明。巴黎& Co,但面临以下绑定问题。我主要是在练习iOS编程,所以绑定概念对我来说是新的。
我做的步骤(尝试了xcode 9 beta 5和8.3.3):
我看到带有“Xcode无法解析输入的密钥路径”概念的感叹号 构建成功,但是当我运行它时说“2017-09-03 22:17:40.739643 + 0200 test3 [6017:424072] [< test3.Document 0x6180000c3410> valueForUndefinedKey:]:此类不是键值文本的键值编码。“
我试图控制从Xib到Swift的拖动,它警告“Xcode无法在当前工作空间中找到类Document”。
我试图转换为工作区而不是proj,检查文件所有者,检查与错误相关的stackoverflow线程 - 但他们主要关注的是错误或非实际连接所造成的某些连接(我可以删除连接,我知道什么连接是错的,问题是如何使它正确)。到目前为止找不到解决方案。
提前致谢
答案 0 :(得分:10)
您需要使用text
属性声明@objc
属性,以便通过动态调度(如键值编码)访问该属性。
另外,因为您希望通过Key-Value Observing(对于Bindings)可以观察属性的修改,所以您需要告诉Swift始终动态地调度它的修改。因此,您还需要在声明中使用dynamic
修饰符:
@objc dynamic var text = NSAttributedString()