나는 Parse에서 설정 한 숫자를 반환하는 대신 함수의 시작 부분에서 선언 한 0을 왜 신속하게 반환하는지 파악하려고합니다. num = (object["numOfSubmittedPhotos"] as Int)
나는 그것이 Int 인 내가 볼 수있는 테스트 라인을 인쇄 을 무효화하는 컨버터블하지 않다는 오류가 발생 (object["numOfSubmittedPhotos"] as Int)
을 반환 할 때 : 대기하지 않는 것이 것처럼 Parse에서 값을 반환하는 Swift는 값을 반환 할 수 있습니다.
func getPhotosSubmitted(quest: String) -> Int{
var num = 0
var query = PFQuery(className:"Quest")
query.whereKey("questName", equalTo:quest)
query.findObjectsInBackgroundWithBlock {
(objects: [AnyObject]!, error: NSError!) -> Void in
if error == nil {
// The find succeeded.
// NSLog("Successfully retrieved \(objects.count) scores.")
// Do something with the found objects
for object in objects {
num = (object["numOfSubmittedPhotos"] as Int)
println("---\(num)")
}
} else {
// Log details of the failure
//NSLog("Error: %@ %@", error, error.userInfo!)
}
}
return num
}
이 FUNC 0 매번를 반환합니다 Parse에서 얻는 값은 0이고 올바른 값은 0이 아닙니다. 누구든지이 코드에서 문제가 발생합니까?
질문 제목은 이미 문제를 제안합니다. 함수 반환 _before_ 구문 분석 값을 얻을 수 있습니다. 당신은 그것을 재 설계해야만합니다 –
어떻게 그렇게 할 수 있습니까? 값을 얻을 때까지 기다렸다가 변수 num에 삽입하여 대부분의 언어로 돌아 오기로했습니다. – user3290950
'findObjectsInBackgroundWithBlock'는이 메소드 이름이 당신에게 뭔가를 말하고 있습니까? 비동기 프로그래밍을하는 방법을 배워야합니다. –