【发布时间】:2014-06-09 18:12:46
【问题描述】:
我想用这个方法在一个块中重新加载我的表数据:
import UIKit
import AssetsLibrary
class AlbumsTableViewController: UITableViewController {
var albums:ALAssetsGroup[] = []
func loadAlbums(){
let library = IAAssetsLibraryDefaultInstance
library.enumerateGroupsWithTypes(ALAssetsGroupType(ALAssetsGroupAll),
usingBlock: {(group, stop) in
if group {
self.albums.append(group)
}
else {
dispatch_async(dispatch_get_main_queue(), {
self.tableView.reloadData()
})
}
}, failureBlock: { (error:NSError!) in println("Problem loading albums: \(error)") })
}
override func viewDidLoad() {
super.viewDidLoad()
loadAlbums()
// Uncomment the following line to preserve selection between presentations
// self.clearsSelectionOnViewWillAppear = false
// Uncomment the following line to display an Edit button in the navigation bar for this view controller.
//self.navigationItem.rightBarButtonItem = self.editButtonItem
}
但是 else 块不会执行。我得到的错误是:
'performSelectorOnMainThread' is unavailable: 'performSelector' methods are unavailable
那么 swift 中'performSelectorOnMainThread' 的替代方法是什么?
更新:
我现在遇到中止错误。
【问题讨论】:
-
GCD 在 Objective-C 中一直优于
performSelectorOnMainThread有一段时间了,请在此处查看文档:developer.apple.com/library/ios/documentation/Performance/…
标签: swift performselector ios8