如何等待,直到從parse.com檢索到數據爲止?從parse.com檢索對象,並等待返回,直到檢索到數據
這是我返回一個空字符串的函數,因爲parse.com的響應太慢了。如果我在成功區域內放置一個斷點,那麼在需要數據之後它會中斷「很長」。我想有一種方法可以讓數據同步,所以它會等待?
func getObjectId(localPersonId:NSString) -> NSString{
var currentObjectId:NSString = ""
var query = PFQuery(className:"myClass")
query.whereKey("personId", equalTo:localPersonId)
query.whereKey("groupId", equalTo:self.currentGroupId)
query.findObjectsInBackgroundWithBlock {
(objects: [AnyObject]!, error: NSError!) -> Void in
if error == nil {
// should not use a for loop since this should
// only return one row
for object in objects {
currentObjectId = object["objectId"] as NSString
}
} else {
// Log details of the failure
NSLog("Error: %@ %@", error, error.userInfo!)
}
}
return currentObjectId
}
在這種情況下,getObjectId函數將返回一個空字符串。任何人?
你需要讓你的'getObjectId function'異步的。在查詢完成之前,正在執行'return currentObjectId'行。 – ardrian 2015-02-23 13:45:06
是的,這是問題所在。我如何使該功能異步? – TommyF 2015-02-23 14:35:30
請看這裏http://stackoverflow.com/questions/25203556/returning-data-from-async-call-in-swift-function – danh 2015-02-23 15:50:11