gpt4 book ai didi

ios - Swift - 变量不保留值(value)

转载 作者:行者123 更新时间:2023-11-28 11:15:33 25 4
gpt4 key购买 nike

我正在使用 AWS 为我的 iOS 应用托管图像。现在我正在尝试列出 S3 存储桶中的所有对象。

这是我的代码:

var description = ""
AWSS3.registerS3WithConfiguration(serviceConfig2, forKey: "s3")
AWSS3.S3ForKey("s3").listObjects(objectList).continueWithBlock { (task: AWSTask!) -> AnyObject! in
if task.error != nil {
println(task.error)
}
if task.result != nil {
description = task.result!.description
println(description)
}
return nil
}

println(description == "")

输出为 true,后跟 task.result!.description 的正确内容。换句话说,continueWithBlock 之外的 println 是先打印的,此时 description 还没有更新。

我应该如何在 continueWithBlock 之外使用 description 做事?

最佳答案

您可以在类或函数的范围内将您需要的值赋给另一个变量,然后您可以对该变量调用 didSet 并在需要时执行另一个函数,如下所示:

var someVariableInScopeOfWhereItsNeeded = "abc" {

didSet {

self.maybeSomeOtherFunctionNow

}
}

关于ios - Swift - 变量不保留值(value),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32000184/

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