使用用户定义的运行时属性让应用程序崩溃

Posted

技术标签:

【中文标题】使用用户定义的运行时属性让应用程序崩溃【英文标题】:Using user defined runtime attributes let the app crash 【发布时间】:2013-08-09 15:13:45 【问题描述】:

我创建了一个自定义 UIControl,它将在应用程序的不同位置使用,并在每个位置更改其背景,所以我发现我应该在情节提要上“用户定义的运行时属性”以不复制重复的代码,但问题是每次我尝试运行它时应用程序崩溃。我正在使用 XCode 4.6.3。

http://i.stack.imgur.com/7aEiO.png

http://i.stack.imgur.com/CdGuX.png

* 由于未捕获的异常“NSUnknownKeyException”而终止应用程序,原因:“[setValue:forUndefinedKey:]:此类与键 toggleType 的键值编码不兼容。

【问题讨论】:

检查您的 toggleType 插座,它没有正确链接。 我只是想出如何通过重写方法 - setValue:forKey: 来解决问题,并获取您在情节提要的列表中输入的密钥。 【参考方案1】:

您描述的异常几乎总是与界面构建器链接中的问题有关。检查出口并确保它们都链接到各自的对象。预感:toggleType 有一个定义的链接,但没有在类代码中定义。如果您查看故事板中的链接,它旁边会有一个黄色警告标志(右键单击文件的所有者以检查所有关系)。

【讨论】:

以上是关于使用用户定义的运行时属性让应用程序崩溃的主要内容,如果未能解决你的问题,请参考以下文章

TypeError:无法读取未定义的属性“历史”

设置自定义视图的 alpha 属性时,iOS 应用程序崩溃

在实例化 ViewController 之前更改/修改运行时用户定义的属性

无法读取未定义的属性“推送”-vue 和 axios

MovieClip 类没有的 MovieClip 实例的属性

当应用程序运行静态单元格的视图控制器时,iOS UI 崩溃