我在Xcode中创建了swift项目,并将Button添加到故事板中。该按钮的IBAction被命名为" WhenButtonPresed",但是当我运行应用程序时它会崩溃并且我得到了下面发布的错误,尽管我没有任何IBAction被称为" sd"
码:
2017-06-19 08:46:21.909 Test_SWIFT_FMDB-1[958:18819]
<CATransformLayer: 0x7fc353d2e1d0> - changing property
contentsGravity in transform-only layer, will have no effect
2017-06-19 08:46:22.188 Test_SWIFT_FMDB-1[958:18819] *** Terminating
app due to uncaught exception 'NSUnknownKeyException', reason:
'[<Test_SWIFT_FMDB_1.ViewController 0x7fc353d25fa0>
setValue:forUndefinedKey:]: this class is not key value coding-
compliant for the key sd.'
***首先抛出调用堆栈:
答案 0 :(得分:2)
我发现了这个错误几次,似乎是UI上的配置不正确。 这似乎发生在我复制一个viewcontroller,它有一些链接到我在原始viewcontroller上使用的当前对象...
我如何纠正:
答案 1 :(得分:0)
在Interface Builder中检查您的连接。您可能指的是不存在的IBOutlet
或IBAction
。
此外,请确保您不会在IBOutlet
或IBAction
的故事板中在viewcontroller中建立双重连接。
答案 2 :(得分:0)
故事板中必须是这样的。
只需删除private val shows = listOf("First", "Breaking Bad", "Game of Thrones", "Bob and Martin...")
private val expandableListView: ExpandableListView by bind(R.id.theListView)
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
//Add items to expandable list view here
}
操作即可。如果你只在代码中删除它,那么连接仍然存在并且它会在运行时导致崩溃。
在您的情况下:我添加sd
然后将其从代码中删除,并添加另一个具有其他名称的操作(按)。但正如您所见,sd action
仍然存在。