-2
我對HTTP有異步請求,我想閱讀JSON並填寫我的查看錶。NSArray更改後UITableView沒有更新
我得到的數據與請求,我做NSArray,但我可以傳遞它在我的函數,tableView numberOfRowsInSection返回只有1,請幫助。
import Foundation
import UIKit
class ThirdView : UITableViewController {
var jsonz:NSArray = ["Ray Wenderlich"];
let url = NSURL(string: "http://iweddings.ru/xmlrestaurant.json");
override func viewDidLoad() {
super.viewDidLoad()
let task = NSURLSession.sharedSession().dataTaskWithURL(url!) {(data, response, error) in
let json = NSJSONSerialization.JSONObjectWithData(data!, options: nil, error: nil) as! NSArray
println(json)
// here i see in xCode output
// price = 4500;
// rating = 45;
// slogan = "\U041d\U0435\U043b\U0435\U0433\U0430\U043b\U044c\U043d\U043e";
// status = 1;
// type = 1;
// etc....
self.jsonz = json;
}
task.resume()
}
override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return 1;
}
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
println(self.jsonz.count);
return self.jsonz.count;
// here i see always "1" ???? why?
}
的NSArray jsonz不會改變。 對不起,我的英語。
謝謝,現在的作品,但它是〜40秒。 40秒我看到只有一個單元格,然後所有6個單元格加載。你知道爲什麼嗎?當我使用非異步請求時,它約爲4秒。爲所有裝載。 – GenRiH
看起來你正在更新後臺線程上的tableView。將reloadData()移到主線程上。 – Siriss
我感動了,仍然是40秒:( – GenRiH