0
我正在使用Parse解析數據庫。變量沒有被保存在關閉之外
問題:我正在查詢數據庫並保存一個對象,但它似乎沒有保存在查詢函數之外。我認爲這是因爲我需要刷新一個變量或其他東西,但我不知道該怎麼做。
相關代碼:
class AddClassViewController: UIViewController {
var classroom = Classroom()
var checkClassList: [Classroom] = []
@IBAction func enrollClassButton(sender: AnyObject) {
self.classroom.classCode = classCodeText.text.uppercaseString
self.classroom.year = yearText.text
self.classroom.professor = professorNameText.text
ClassListParseQueryHelper.checkClass({ (result: [AnyObject]?,error: NSError?) -> Void in
self.checkClassList = result as? [Classroom] ?? []
//count is 1 inside here
println(self.checkClassList.count)
}, classCode: self.classroom.classCode!)
//count is 0 out here
println(self.checkClassList.count)
}
//this gets class with matching classcode
static func checkClass(completionBlock: PFArrayResultBlock, classCode: String){
let query = PFQuery(className: "Classroom")
query.whereKey("ClassCode", equalTo: classCode)
query.findObjectsInBackgroundWithBlock(completionBlock)
}
你並不需要 「刷新變量」(知道是什麼意思)。您錯過了正在進行*異步*調用的事實。與其給你一個直截了當的答案,我建議你閱讀一下關於異步編程以及如何在Swift中處理它。 – Roshan
哇,我完全忽略了這一點。這應該是解決方案。謝謝! –
我的榮幸。由於我沒有提供具體的解決方案,我建議你自己提出確切的解決方案。 :) – Roshan