我有一个详细视图控制器,我想将标签文本设置为使用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]但每次都遇到相同的错误。
detailVC.label.text = "Test"
detailVC.label.text = names[indexPath.row]
我使用相同的代码行来更改单元格的标签文本,没有任何错误,但是对于空白视图中心的此标签,我似乎无法正确理解?有什么需要改变的想法吗?
顺便说一句,详细视图控制器中的标签是 @IBOutlet weak var label: UILabel!
@IBOutlet weak var label: UILabel!
您无法访问IBOutlet第DetailViewController的prepareForSegue,因为他们还没有连接。
IBOutlet
DetailViewController
prepareForSegue
正如在评论中提到建立一个String物业DetailViewController,将其设置在prepareForSegue并设置text标签的财产viewDidLoad或viewWillAppear的DetailViewController。
String
text
viewDidLoad
viewWillAppear