在viewDidLoad中,我使用以下代码获取JSON:

request(.POST, "example.com", parameters: device).response { (request, response, data, error) in
        var jsonResult = NSJSONSerialization.JSONObjectWithData(data! as! NSData, options: NSJSONReadingOptions.MutableContainers, error: nil) as! NSDictionary

        var myJSON = JSON(data:data! as! NSData)
}

在底部我有一个函数:
func answer() {
    if queue+1 <= 3 {
        var questionBodyText = myJSON["result"][queue]["body"].stringValue
        var variantAText = myJSON["result"][queue]["var_a"].stringValue
        var variantBText = myJSON["result"][queue]["var_b"].stringValue
        var variantCText = myJSON["result"][queue]["var_c"].stringValue
        var variantDText = myJSON["result"][queue]["var_d"].stringValue
    }
}

但是我不能在answer()中使用它打印的answer()错误。
所以,我的问题是,如何从answer()函数“看到”myJSON数据并使用它?

最佳答案

在ViewController中将myJSON声明为属性:

class ViewController {
    var myJSON:JSON?
}

赋值:
myJSON = JSON(data:data! as! NSData)

使用它:
if let j = myJSON {
    var questionBodyText = j["result"][queue]["body"].stringValue
}

10-04 21:20