Xcode 我怎样才能解决这个问题;此类不符合key imageview“的键值编码要求;?

Xcode 我怎样才能解决这个问题;此类不符合key imageview“的键值编码要求;?,xcode,uiimageview,swift4.2,Xcode,Uiimageview,Swift4.2,我即将将代码从Objective-C转换为Swift,我开始将视图控制器类转换为Swift。我设法解决了视图控制器的大部分问题,但我的一个视图控制器一直出现这个错误 当它崩溃时:“线程1信号sigabrt” 错误日志: Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<UIViewController 0x7fd98fc65ee0> setValue:forUndefinedK

我即将将代码从Objective-C转换为Swift,我开始将视图控制器类转换为Swift。我设法解决了视图控制器的大部分问题,但我的一个视图控制器一直出现这个错误

当它崩溃时:“线程1信号sigabrt”

错误日志:

Terminating app due to uncaught exception 'NSUnknownKeyException', 
reason: '[<UIViewController 0x7fd98fc65ee0> setValue:forUndefinedKey:]: 
this class is not key value coding-compliant for the key background.'

错误消息中显示了问题:

[UIViewController 0x7fd98fc65ee0> setValue:forUndefinedKey:]:
因此,您需要将故事板中该视图控制器的类设置为具有
background
属性的真实视图控制器的类

很可能你已经正确地设置了这个,但它只在Objective-C中工作。如果您进入Identity inspector并删除该类,然后单击return,然后再次进入该类,然后单击return,您将看到,现在Identity inspector看到我们应该从Swift模块中获取该类,事情将在Swift中开始工作


根本原因可能是斯威夫特的名字弄脏了。一个名为MyClass的Objective-C类实际上被称为MyClass,但一个名为MyClass的Swift类却不是。删除名称并重新输入它将显示Objective-C类的新名称

哪一行代码崩溃了?@Fogmeister当它崩溃时,它将我带到main方法并给我线程1error@JamesCastrejon您需要添加一个异常断点来查找导致崩溃的代码行。我将尝试使用异常断点并让您知道我得到了什么,所以我确实尝试了,但由于下面的答案,它得到了修复,所以什么也没发生。实际上,你更有可能是有这个权利的,然后不知何故破坏了它。我这么说是因为如果你一直都不正确的话,你根本就不可能在一开始就创建插座。我曾经让它指向视图控制器的Objective c版本,然后尝试将其切换到swift版本。也许这就是造成错误的原因。无论如何,我通过从故事板上的视图控制器中完全移除类,将焦点转移到另一个视图控制器上,将焦点返回到第一个视图控制器并再次添加类来修复它。非常感谢。是的,你说得很好!我将把这一点补充到我的回答中。这是一种特殊情况,与模块中定义类的方式有关。我说“你忘了”是不对的,我会改变这种说法。谢谢。请注意,这也适用于自定义UI类。例如,我按照你的答案修复了我的自定义UICollectionViewCell。笑话是我几年前写了一篇文章,关于如何将你的应用程序从Objective-C翻译成Swift。。。我在分步说明的第9步中解释了这次崩溃会发生,以及如何应对!
[UIViewController 0x7fd98fc65ee0> setValue:forUndefinedKey:]: