我要重新加載在這個方法塊在我的表中的數據:斯威夫特替代performSelectorOnMainThread
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
那麼什麼是替代'performSelectorOnMainThread'
在swift?
更新:
我現在得到一箇中止錯誤。這裏是控制檯的樣子:http://cl.ly/image/3D0h1x433P0R
GCD已經優於'performSelectorOnMainThread'的目的-C一段時間後,請查看此處的文檔:https://developer.apple.com/library/ios/documentation/Performance/Reference/GCD_libdispatch_Ref/Reference/reference.html – Jack