Swift segue传递nil字符串

时间:2015-04-10 20:46:36

标签: ios iphone xcode swift segue

好吧,在我的应用程序中,我必须设置另一个视图var的值,但是当它通过segue时,似乎分配此var的值为null 代码:

override func prepareForSegue(segue: UIStoryboardSegue!, sender: AnyObject!)
{
    if segue.identifier == "DetailSegue"
    {
        let detailViewController = ((segue.destinationViewController) as RowViewController)
        let indexPath = self.table!.indexPathForSelectedRow()!
        detailViewController.string = name.text
    }
}

在第二个视图中我有这样的事情:

var string: String?
override func viewDidLoad() {
    super.viewDidLoad()
    descrip.text = string
    ...

在你问之前,名字确实有价值,但是segue似乎没有通过它:/我真的希望你们能帮我解决这个问题!

1 个答案:

答案 0 :(得分:0)

针对此类问题的基本调试:

第1步:

检查storyboard segue是否与您在代码中添加的标识符具有相同的标识符。请记住,小写字母和大写字母很重要。

第2步:

使用大量的println()。这是Xcode中最有用,最简单的调试工具之一。您可以在下一个视图控制器上打印开始标签,字符串的值等。在您提出有关Stack Overflow的问题之前,请尝试自己解决问题 - 这将使您成为更好的程序员,并使您没有尽可能多地依赖在线社区。

第3步:

使用您的问题测试一些其他更简单的任务,看看它是否真的是Xcode中的错误或错误。例如,尝试将您在下一个视图控制器上更改的值分配给静态文本而不是标签的文本。

希望这有帮助,并且你已经解决了问题。