我的問題是:斯威夫特2 JSON解析,但不追加全球價值陣列
class BackVC: UITableViewController {
var strArr = Array<String>()
這個數值與viewDidLoad中初始化()函數
override func viewDidLoad() {
super.viewDidLoad()
strArr = Array<String>()
,寫這個JSON解析碼的後面
let generalUrl = NSURL(string: "my json address")
let path = NSURLSession.sharedSession().dataTaskWithURL(generalUrl!) { (data, response, error) -> Void in
if let dataPath = data {
do {
let jsonResult = try NSJSONSerialization.JSONObjectWithData(dataPath, options: NSJSONReadingOptions.MutableContainers)
if let catArr = jsonResult["categories"] as? NSArray {
for c in catArr {
self.strArr?.append(c as! String)
}
}
} catch {
print("json data read error")
}
}
}
path.resume()
}
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as! ImageCell
print("strArr") or print("\(strArr)") is nil
}
有什麼不對?
此代碼無法編譯,因爲此行中有問號'self.strArr?.append(c as!因爲'strArr'被聲明爲非可選的。 – vadian