2016-04-15 9 views
0

Ich versuche mein CollectionView zu laden, nachdem meine Daten geladen sind, aber ich weiß nicht, wie genau ich einen CompletionHandler dazu verwenden soll. danken für die Hilfe mein Code unten: für Abrufen von Daten:CollectionView und 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" 
} 

und für colelectionView Belastung:

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. 
    } 
+0

Sobald Sie die Daten analysiert haben ('parseDATA()', wie es scheint), laden Sie die UICollectionView erneut. – Larme

Antwort

0

Reload der Sammlung Ansicht am Ende des Erfolgs-Block Ihrer Service Call wie unten

[collectionView reloadData]; 

Sie können die reloadData-Methode auch in URLSession-Delegaten angeben.

+0

Hallo, ich bin total Anfänger von all dem Swift alles, könntest du mir bitte erklären wie es genau geht. Vielen Dank –

Verwandte Themen