gpt4 book ai didi

swift - 如何仅在它为 nil 时设置静态属性?

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

我希望能够调用属性 ConferenceNumberDirectory.att,如果数字目录/数组存在,我们将返回它,如果不存在,我们将解析条目。

///Builds, stores, retrieves and queries conference number directories.
class ConferenceNumberDirectory {

static var att: [ConferenceNumber] = {
build(from: ConferenceNumberDirectory.jsonArray)
print("Am I lazy!?")
return ConferenceNumberDirectory.att
}()

build 是一个修改 ConferenceNumberDirectory.att 的函数。当我尝试调用它时,模拟器似乎卡住了,内存使用量稳步上升,直到我停止运行。有没有一种方法可以使用计算属性来做到这一点?

最佳答案

您正在创建惰性计算属性。简单地做:

class ConferenceNumberDirectory {

static var att: [ConferenceNumber] = {
let result = build(from: ConferenceNumberDirectory.jsonArray)
print("Am I lazy!?")
return result
}()

并更改您的 build 方法返回一个值,而不是尝试设置 att

关于swift - 如何仅在它为 nil 时设置静态属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45170052/

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