所以我在本课程中有两个函数,我正在研究它需要使用相同的变量。该变量由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。
答案 0 :(得分:3)
更改这两行的行顺序,因为您在执行segue后设置了fooGame
self.fooGame = GamesList[indexPath.row - InvitesList.count];
performSegueWithIdentifier("presentGame", sender: self)