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 应用程序后收到错误。我看到其他人以前遇到过此错误,但是在尝试了所有解决方案之后,它们都不适合我。据我所知,这不是命名问题或不良连接。我删除了应用程序,重新启动等。我尝试过不同的出口。事情是这样的:我的应用程序运行良好,然后我向我的ViewController
添加任何类型的@IBOutlet
,一切看起来都不错。构建并运行,应用程序加载到空白屏幕,我在控制台中收到该错误。
在过去的 6 个小时里,我一直在尝试堆栈溢出上的所有解决方案。它们都不起作用。
这是我的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上发布的任何解决方案对我不起作用。
将控制器的名称更改为某个名称。
class UIView: UIViewController // This is wrong
class HomeViewController: UIViewController
:这是对的
还要更新storyboard
中的控制器类:在情节提要中选择控制器。更改file's owner
.
请在视图控制器中创建登录按钮的出口以了解有关插座和操作的更多信息
不要使用 UIView作为类名,因为有一个UIView类系统。
很简单,如果你的类是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 子类化而来的