【发布时间】:2016-09-12 12:36:14
【问题描述】:
当我尝试重新加载 tableview 时,我收到一个类似
的错误libc++abi.dylib:以 NSException 类型的未捕获异常终止
我的UITableViewController
class NewTableViewController: UITableViewController {
var videos = [Video]()
{
didSet {
self.tableView.reloadData() //error here
}
}
let URL = "https://api.vid.me/channel/1/new"
override func viewDidLoad() {
super.viewDidLoad()
let request = Alamofire.request(.GET, self.URL)
request.responseObject { (response: Response<NewestVideos, NSError>) in
switch response.result {
case .Success(let newest):
self.videos = newest.videos!
case .Failure(let error):
print("Request failed with error: \(error)")
}
}
}
override func didReceiveMemoryWarning() {super.didReceiveMemoryWarning()}
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {return self.videos.count}
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as! NewTableViewCell
let video = videos[indexPath.row]
cell.newVideoNameLabel?.text = video.completeUrl != nil ? video.completeUrl! : "nil"
return cell
}
}
我认为这是线程的问题?
在我的应用程序中,我发出一个 .get 请求,如果我尝试在 didSet 中打印,例如 print(self.videos),我会得到一个值
我尝试添加
dispatch_async(dispatch_get_main_queue()) {
self.tableView.reloadData()
}
【问题讨论】:
标签: ios swift uitableview