在Swift中将值从1个函数传递到另一个函数

时间:2015-06-19 12:23:31

标签: ios swift swifty-json

所以我在本课程中有两个函数,我正在研究它需要使用相同的变量。该变量由SwiftyJSON框架中的JSON对象填充。

我开始像这样实例化变量:

 var fooGame : JSON?;

然后我这样填写这个坏孩子:

func tableView(gamesListTableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
    if (indexPath.row < InvitesList.count) {
        //acceptInvite
    } else {
        performSegueWithIdentifier("presentGame", sender: self)
        self.fooGame = GamesList[indexPath.row - InvitesList.count];

        println(self.fooGame);
    }
}

这很完美,fooGame的价值会被打印到控制台! 但是这就是出现问题的地方,我想在这里再次使用self.fooGame中的值:

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject!) {
    if (segue.identifier == "presentGame") {
        var svc = segue.destinationViewController as! Game;

        println(self.fooGame);
    }
}

这里我在控制台中打印出nil。

1 个答案:

答案 0 :(得分:3)

更改这两行的行顺序,因为您在执行segue后设置了fooGame

self.fooGame = GamesList[indexPath.row - InvitesList.count];
performSegueWithIdentifier("presentGame", sender: self)