我试图在加载数据后加载我的 CollectionView,但我不知道应该如何使用 CompletionHandler 来执行此操作。 感谢帮助 我的代码如下: 用于获取数据:
func GETData(){
urlString = "https://api.backendless.com/v1/data/Pub?pageSize=10&offset="+String(offset)
let session = NSURLSession.sharedSession()
let url = NSURL(string: urlString)!
let request = NSMutableURLRequest(URL: url)
request.setValue(applicationId, forHTTPHeaderField: "application-id")
request.setValue(secretKey, forHTTPHeaderField: "secret-key")
let task = session.dataTaskWithRequest(request, completionHandler: { (data: NSData?,response: NSURLResponse?, error: NSError?) in
if let responseData = data
{
parseDATA(responseData)
}
})
task.resume()
offset+=(pubs.count-offset)
urlString = "https://api.backendless.com/v1/data/Pub"
}
对于 colelectionView 加载:
override func viewDidLoad() {
pubs.removeAll()
GETData()
super.viewDidLoad()
typealias UIActivityViewControllerCompletionHandler = () -> Void
print("AKTUAL: "+String(pubs.count))
collectionView.delegate = self
collectionView.dataSource = self
// Do any additional setup after loading the view.
}
最佳答案
在服务调用的成功 block 末尾重新加载 Collection View ,如下所示
[collectionView reloadData];
您还可以在 URLSession 委托(delegate)中提供 reloadData 方法。
关于ios - CollectionView 和 CompletionHandler,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36646836/