gpt4 book ai didi

ios - parse.com - 在 iOS 中获取对象延迟

转载 作者:可可西里 更新时间:2023-11-01 00:16:34 25 4
gpt4 key购买 nike

我想得到一个对象并打印它。所以我创建了一个函数来处理获取对象并将其返回。

问题是,对象打印得太早了。

这是我的功能:

func getParseObject(){
println("i'm inside the function")
var query = PFQuery(className: "testClass")
query.getObjectInBackgroundWithId("OWXnWkL") {(tempObject: PFObject?, error: NSError?) -> Void in
if error == nil && tempObject != nil {
println("object retrieved with success")
} else {
//error
}
}
return object
}

这是调用:

var data = getParseObject()
println("data is: \(data)")

这是控制台的输出:

i'm inside the function

data is:

object retrieved with success

处理这个问题的最佳解决方案是什么?

非常感谢!

最佳答案

你的问题是你在做一个异步请求,这个请求是在后台执行的。因此,您在恢复服务器上的数据之前返回对象。

如果要同步显示需要的函数的返回值:

func getParseObject() -> PFObject {
var object : PFObject?
let query = PFQuery(className: "testClass")
let result = query.getObjectWithId("OWXnWkL")
if result != nil {
object = result
}
return object!
}

否则你必须使用处理程序:

var query = PFQuery(className: "testClass")
query.getObjectInBackgroundWithId("OWXnWkL") {(tempObject: PFObject?, error: NSError?) -> Void in
if error == nil && tempObject != nil {
println("object retrieved with success")
// Do something with the object!
} else {
//error
}

希望对你有帮助

是的

关于ios - parse.com - 在 iOS 中获取对象延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30380161/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com