Veriler Parse sunucusundan çekildikten sonra bir görünümü başlatmak zorunda kaldığım benzer bir durum vardı.
func fetchQuestionBank(complete:()->()){
let userDefault = NSUserDefaults.standardUserDefaults()
let username = userDefault.valueForKey("user_email") as? String
var query = PFQuery(className:"QuestionBank")
query.whereKey("teacher", equalTo: username!)
query.findObjectsInBackgroundWithBlock { (objects:[AnyObject]?, error:NSError?) -> Void in
if error == nil {
if let objects = objects as? [PFObject] {
var questionTitle:String?
var options:NSArray?
for (index, object) in enumerate(objects) {
questionTitle = object["question_title"] as? String
options = object["options"] as? NSArray
var aQuestion = MultipleChoiceQuestion(questionTitle: questionTitle!, options: options!)
aQuestion.questionId = object.objectId!
InstantlyModel.sharedInstance.questionBank.append(aQuestion)
}
complete()
}
}else{
println(" Question Bank Error \(error) ")
}
}
}
Ve bu yöntemi çağırmak geçerli::
self.fetchQuestionBank({() ->() in
//Once all the data pulled from server. Show Teacher View.
self.teacherViewController = TeacherViewController(nibName: "TeacherViewController", bundle: nil)
self.view.addSubview(self.teacherViewController!.view)
})
yapmanız gerekir muhtemelen sadece LoadData'ları geri çekme/tamamlama bloğu olarak dataData içine geçirerek, drawData her ne zaman pullData onu tamamladıktan sonra çekebilir. Aydınlatılmış. – luk2302
Bunu yapmayı nasıl yaparım? O rotaya gidersem hala bir zamanlayıcı kullanabilir miyim? – Opei
Örneğin "hızlı tamamlama bloğu" aranarak - sorunuz genellikle çok geniştir ve yorumum gibi temel olarak fikir bazlı cevapları çekecektir. Daha fazla bağlam göstermek zorundasınız, * tam olarak * ne elde etmek istediğinizi açıklayın: bir zamanlayıcı veya tamamlandıktan sonra koşmak birbirinin tam tersidir. Üstelik şimdiye kadar denediğiniz şeyi göstermelisiniz. – luk2302