Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<UIView 0x104908040> `setValue:forUndefinedKey:`]: this class is not **key value coding-compliant** for the key signinbutton.'
构建和启动iOS应用后,我遇到了错误。我看到其他人之前有过这个错误,但在尝试了所有的解决方案后,他们都没有为我工作。据我所知,这不是命名问题,也不是连接错误。我删除了应用程序,重新启动等等。我尝试过使用不同的插座。它是这样的:我的应用程序完美运行,然后我向我的@IBOutlet
添加任何类型ViewController
,看起来都很好。构建并运行,应用程序加载到空白屏幕,我在控制台中收到该错误。
过去6小时我一直在尝试stackoverflow上的每个解决方案。他们都没有工作。
这是我的ViewController
。
import UIKit
class UIView: UIViewController {
@IBOutlet weak var signInButton: UIButton!
override func viewDidLoad() {
super.viewDidLoad()
}
}
我的AppDelegate
文件就像默认情况一样。
import UIKit
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
依旧......
为什么这不起作用?
编辑:将课程更改为class HomeViewController: UIViewController
无效。
注意:这是 不 重复的问题。到目前为止,Stack Overflow上没有发布任何解决方案。
答案 0 :(得分:2)
将控制器的名称更改为某个名称。
class UIView: UIViewController // This is wrong
class HomeViewController: UIViewController
:这是对的
同时更新storyboard
中的控制器类:在故事板中选择控制器。更改file's owner
。
答案 1 :(得分:0)
答案 2 :(得分:0)
很简单,如果你的类是 UIView ,可以是子类 UIView 或你的自定义UIView子类。
如果您的类是 UIViewController ,则子类 UIViewController 或您的自定义UIViewController子类。
UIView: UIViewController doesnt make sense to the compiler.
我想提一些背景信息:
x:y表示, x是y的子类,因为你提到它是你的 ViewController 文件,所以为了编译你的代码,你只需要将你的类的名称从UIView更改为自定义名称
UIViewController也是UIKit中的另一个类,就像UIView或UITableView一样,但不是子类的控制器。 当x:y时,y不是x的控制器,但实际上x是控制器,x是Y的子类
答案 3 :(得分:0)
不要使用 UIView 作为类名,因为有一个系统的UIView类。