斯威夫特:我在“tableView.delegate = self”中“意外地发现了nil”

问题描述 投票:2回答:3

我在按钮和视图控制器之间连接一个segue,如屏幕截图所示。 I connect a segue between a button and a view controller.

一切顺利,直到我选择类作为“ViewController”。 enter image description here

每次单击“添加”按钮时,代码都会崩溃,并显示以下错误:“线程1:致命错误:在解开可选值时意外发现nil”enter image description here

我现在真的很困惑。任何人都可以帮助我吗?

ios swift tableview xcode9 unwrap
3个回答
5
投票

你正在崩溃bcoz表视图没有连接为IBOutlet

您需要将表视图IBOutlet连接到视图控制器。您可以通过助理编辑器右上角(相互交叉的双圆圈按钮)进行操作,然后通过在表格视图中右键单击拖放到视图控制器。

连接IBOutet后,在视图控制器中,在属性指示它将成功连接之前,将有一个深灰色的圆圈。

enter image description here

如果未填充圆,则表示该属性未连接为IBOutlet

enter image description here

见图。

enter image description here


1
投票

您正在崩溃,因为您没有使用故事板设置tableview的出口。请先添加插座然后再设置委托。

确保在遇到此类崩溃时必须检查您的控件是否为零。


1
投票

检查所有插座是否正在使用Connections检查器,还检查您是否继承UIViewController,UITableViewDelegate和UITableViewDataSource类,并且所有内容都是属性连接的。

© www.soinside.com 2019 - 2024. All rights reserved.