CollectionView和CompletionHandler

时间:2016-04-15 12:12:58

标签: ios swift uicollectionview completionhandler

我在加载数据后尝试加载我的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.
    }

1 个答案:

答案 0 :(得分:0)

在服务电话的成功屏蔽结束时重新加载集合视图,如下所示

[collectionView reloadData];

您还可以在URLSession Delegates中提供reloadData方法。