我创建了一个主详细信息应用程序,该表加载了来自网址请求的数据
我调用reloadData
在url请求后重新加载表。
它只在我滚动时重绘表格。
在检查重载数据之前,我检查了我的数组是否填充了正确的数据。我正在使用UISearchBar
来查找数据。 (我没有使用搜索显示控制器,只有UISearchBar
)。当我加载数据并滚动时,它可以工作。但是,当我呼叫reloadData
时,表格不会清除并加载自己的数据。这是我的代码的要点。我正在使用Google Places API接近披萨店。
MasterViewController.swift
func searchForPizzaWith(#lat:JSValue,long:JSValue) {...
places = []
var nsURL = NSURL(string: pizzaURL)
let task = NSURLSession.sharedSession().dataTaskWithURL(nsURL) {
(data,response,error) in
var placeResponse = NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.MutableContainers, error: nil) as NSDictionary
...
// some jason parsing here. places array is created.
...
for place in places.array.value! {
let place = Place(name: place["name"].string.value!,
icon: place["icon"].string.value!,
address: place["vicinity"].string.value!,
placeID: place["id"].string.value!)
self.places.append(place)
println("added")
}
}
println(self.places.count) // prints 20
self.tableView.reloadData()
}
task.resume()
}
答案 0 :(得分:4)
您应该从主线程中调用reloadData()
。