【发布时间】:2016-07-13 16:26:06
【问题描述】:
我有一个详细视图控制器,我想将标签文本设置为使用 indexPath 行从数组中获取的值。
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if(segue.identifier == "showView"){
let detailVC: DetailViewController = segue.destinationViewController as! DetailViewController
let indexPath = self.MainTableView.indexPathForSelectedRow!
detailVC.label.text = "Test"
self.MainTableView.deselectRowAtIndexPath(indexPath, animated: true)
}
}
我不断收到一个致命错误:在展开可选值时意外发现 nil。我曾尝试将detailVC.label.text = "Test" 切换为detailVC.label.text = names[indexPath.row],但我每次都遇到相同的错误。
我使用相同的代码行来更改单元格的标签文本,没有错误,但是对于位于空白视图中心的这个标签,我似乎无法正确处理?有什么想法需要改变吗?
顺便说一下,详细视图控制器中的标签是@IBOutlet weak var label: UILabel!
【问题讨论】:
-
您是否尝试过将属性添加到目标视图控制器并为其分配文本的值,然后仅将标签分配给 viewDidLoad 或 viewWIllAppear 中的文本?
-
你在哪里得到了意外发现的 nil 错误?
-
@AlessandroOrrù 在控制台中
-
@MikeSchmidt,请参阅下面的 vadian 的回答