Ios 需要帮助将数据从tableView传递到另一个viewController Swift。在查看其他示例后,继续出现错误

Ios 需要帮助将数据从tableView传递到另一个viewController Swift。在查看其他示例后,继续出现错误,ios,swift,tableview,Ios,Swift,Tableview,我一直有错误;致命错误:在展开可选值时意外发现nil。请确保viewController1和nameLbl的值不是nil!祝你好运 看起来passValue是nil。因为它是一个隐式展开的可选项,如所示,当使用该值时,计算机无法找到它,因此崩溃(单元格?.text标签?.text)为零。也许试试这个 var passValue:String! override func tableView(tableView: UITableView, didSelectRowAtIndexPath index

我一直有错误;致命错误:在展开可选值时意外发现nil。

请确保viewController1和nameLbl的值不是nil!祝你好运

看起来passValue是nil。因为它是一个隐式展开的可选项,如
所示,当使用该值时,计算机无法找到它,因此崩溃<代码>(单元格?.text标签?.text)为零。也许试试这个

var passValue:String!
override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
    var indexPath1 = tableView.indexPathForSelectedRow
    var cell = tableView.cellForRowAtIndexPath(indexPath1!)
    passValue = (cell?.textLabel?.text)!
    print(passValue)
    performSegueWithIdentifier("pushy", sender: self)
}

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    if segue.identifier == "pushy"
    {
      var viewController1 = segue.destinationViewController as! home

      viewController1.nameLbl.text = passValue// This is the error highlighted
      self.presentViewController(viewController1, animated: true, completion: nil)
    }
}

然后可以在情节提要中设置单元格的标识符

tableView(didSelectRowatineXpath:)
已经为您提供了一个标识符时,为什么要创建一个新的
NSindexPath
?那么
print(passValue)
print是什么呢?@JacobsonTalom也许我应该把它删除掉。我查阅了其他一些例子。打印(passValue)打印单元格文本标签。我无法将单元格文本标签传递到左侧面板调试区域中的另一个ViewController上,哪个变量显示为
nil
?您可能正在测试一些东西,但仍然尝试尽可能少地使用隐式展开。它会导致像现在这样的问题。它表示passValue=(String!)nil。在实现prepareForSegue之前,passValue具有其值。如果我把代码屏蔽掉,值就会被打印出来。如果
passValue
nil
,它应该在
print(passValue)
上崩溃。哇,我不敢相信我错过了,谢谢你指出@Jacobson Talom。忽略我的回答。
override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
let cell = tableView.dequeueReusableCellWithIdentifier("Cell identifier")
passValue = cell?.textLabel?.text
print(passValue)
performSegueWithIdentifier("pushy", sender: self)
}