从 Swift 框架加载 ViewController
Loading a ViewController from Swift Framework
我正在创建一个 Swift framework
,其中有 ABC.Storyboard
和一个 ViewController
。我已将所有 UIView
引用到 MyViewController
,它们也存在于框架中。
当我将此框架添加到我的应用程序并尝试加载此 MyViewController
时,我得到 setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key myImageView 错误。
希特什,
只有当您的故事板具有关于其视图的 IBOutlets 的陈旧信息时才会发生这种情况。
怎么回事?
您的 Storyboard ViewController (MyViewController) 中必须有一个 ImageView。在您开发框架的过程中,有时您已将名称为 myImageView
的 IBOutlet 拖到所有者 class(比方说 MyViewController.swift)
稍后您一定从您的 ownerClass (MyViewController.swift) 中删除了名为 myImageView
的 属性 并且忘记从故事板中删除对 属性 的引用.
发生了什么?
你的 Storyboard 的 ViewController 仍然假设在其 ownerClass 中有一个名为 myImageView
的 属性 并且它的组件 [=14] 是一个 IBOutlet
=].
因此,当加载视图时,它会查找 属性,当 属性 未找到时,它会向您抛出此 class 与 不兼容的编码错误键 myImageView 因为它无法找到名为 myImageView
.
的 属性
解决方案
打开故事板 select MyViewController 转到连接检查器(单击右侧的最后一个选项,它将向您显示 ViewController 中每个组件的 IBOutlets) select 你的 ImageView 你会发现这样的东西,
单击 (myImageView) - (x MyViewController) 前面的小 'x' 符号以取消它与已删除的 属性 引用的链接:)清理构建并重新运行 :)
Ta daaa 问题已解决:)编码愉快:)
我正在创建一个 Swift framework
,其中有 ABC.Storyboard
和一个 ViewController
。我已将所有 UIView
引用到 MyViewController
,它们也存在于框架中。
当我将此框架添加到我的应用程序并尝试加载此 MyViewController
时,我得到 setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key myImageView 错误。
希特什,
只有当您的故事板具有关于其视图的 IBOutlets 的陈旧信息时才会发生这种情况。
怎么回事?
您的 Storyboard ViewController (MyViewController) 中必须有一个 ImageView。在您开发框架的过程中,有时您已将名称为 myImageView
稍后您一定从您的 ownerClass (MyViewController.swift) 中删除了名为 myImageView
的 属性 并且忘记从故事板中删除对 属性 的引用.
发生了什么?
你的 Storyboard 的 ViewController 仍然假设在其 ownerClass 中有一个名为 myImageView
的 属性 并且它的组件 [=14] 是一个 IBOutlet
=].
因此,当加载视图时,它会查找 属性,当 属性 未找到时,它会向您抛出此 class 与 不兼容的编码错误键 myImageView 因为它无法找到名为 myImageView
.
解决方案
打开故事板 select MyViewController 转到连接检查器(单击右侧的最后一个选项,它将向您显示 ViewController 中每个组件的 IBOutlets) select 你的 ImageView 你会发现这样的东西,
单击 (myImageView) - (x MyViewController) 前面的小 'x' 符号以取消它与已删除的 属性 引用的链接:)清理构建并重新运行 :)
Ta daaa 问题已解决:)编码愉快:)