2016-04-04 22 views
0

Ich versuche, meine PickerView nach dem Laden von Daten aus einer Abfrage neu zu laden. Die PickerView wird jedoch nicht neu geladen. Ich möchte das subjectPickerView neu laden, nachdem subjectPickOption angehängt wurde.Reload UIPickerView

query = PFQuery(className:"Subject") 
query.addAscendingOrder("subjectId") 
query.getObjectInBackgroundWithId(object.objectId!) { 
(subject: PFObject?, error: NSError?) -> Void in 
    if error == nil && subject != nil { 

     self.subjectPickOption.append(subject!["subject"] as! String) 
     self.subjectPickerTextField.userInteractionEnabled = true 


    } else { 
     print("Error: \(error!) \(error!.userInfo)") 
    } 
} 

Wo sollte ich meine self.SubjectPickerview.reloadAllComponents() platzieren?

Antwort

0

Unter der Leitung:

self.subjectPickerTextField.userInteractionEnabled = true 

Ihre reloadAllComponents hinzufügen, aber am wichtigsten ist, müssen Sie es auf dem Haupt-Thread ausgeführt werden als Datenanruf auf einem Hintergrund-Thread ist, und wenn Sie UI Dinge ändern muss es sein im Hauptfaden:

... 
dispatch_async(dispatch_get_main_queue(),{ 
    self.SubjectPickerView.reloadAllComponents() 
} 
...