在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
}