使用@IBDesignable上课的时候,我突然有一种奇怪的和可重复的错误,@IBInspectable属性赋予以下警告:@IBDesignable - @IBInspectable,类不是键值编码兼容
主。故事板:警告:IB Designables:忽略用户定义的关键路径“runtime”的运行时属性对“UIButton”实例。尝试设置其值时发生异常:[setValue:forUndefinedKey:]:此类不是密钥测试的密钥值编码。
要清楚这个警告只是Xcode的一个问题,它包装很好。仍然很烦人!
步骤来重现
- 创建新项目
创建自定义@IBDesignable的UIButton亚类中,有@IBInspectable String属性:
import UIKit @IBDesignable class TempButton: UIButton { @IBInspectable var test:String = "" }
- 将一个按钮拖到故事板中的视图控制器中,并在Identity Inspector中为其指定自定义类“TempButton”。
- 现在'Test'属性应该出现在'Temp Button'属性的属性检查器中 - 在该字段中输入任何内容。
- Bam!出现上述警告。从字段中删除文本,并且警告消失。
我已经尝试了几种解决方案 - 不同的变量名,使“测试”财产可选的,使用一个初始化,至今没有运气。
这是问题的一个屏幕截图:
非常有趣,我不能重现这个问题。我确实如你所说。没有警告。你使用的是什么版本的Xcode?你是否记得先建立应用程序?您是否尝试重新启动计算机(有助于在头部侧面碰撞Xcode)? – matt
我在头部侧面砸了Xcode(即重新启动!),并且我已经在当前版本的Xcode(7.0.1)和beta(7.1 beta 3)上尝试过了,没有运气。感谢您的关注,有趣的是这不会发生在您身上。 –
已添加屏幕截图以帮助诊断问题,如果其他人无法复制。 –