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

Passing along values from 1 function to another in Swift

所以我在这个 class 中有 2 个函数需要使用相同的变量。该变量由来自 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。

更改这两行的行顺序,因为您是在执行 segue

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