gpt4 book ai didi

ios - 无法关闭以关闭变量

转载 作者:行者123 更新时间:2023-11-29 01:22:31 26 4
gpt4 key购买 nike

我正在使用 Parse 并尝试存储 Parse 为您提供的对象唯一标识符。下面是有助于理解这一点的代码。

    var objectID = ""
var object = PFObject(className: "class")
object["columnTitle"] = "String Data"
object.saveInBackgroundWithBlock { (success, error) -> Void in
guard error == nil else {
print("Error")
return
}

objectID = object.objectId!
}

print(objectID)

所以我认为当我运行应用程序时,打印语句会打印出 Parse 为您提供的 objectId,但事实并非如此。如果我在闭包中添加打印语句,它肯定会得到我期望的值。看起来打印语句在值可以更改之前就已经运行了。知道如何解决这个问题吗?我假设使用GCD

所有这些都在 viewDidLoad()

最佳答案

saveInBackgroundWithBlock 是一个异步调用。如果您在 block 中打印对象 ID,它会在 block 在不同线程中执行时打印。

如果您将 print 放在 block 外,它将是调用 saveInBackgroundWithBlock 后立即执行的下一条语句。您应该在这两个语句中放置断点并理解其行为。

您可以定义一个包含对象 ID 相关处理代码的方法,并在 saveInBackgroundWithBlock 的末尾调用该方法

关于ios - 无法关闭以关闭变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34429310/

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