gpt4 book ai didi

ios - 如何在操作后保留对数组的引用?

转载 作者:行者123 更新时间:2023-11-28 12:48:22 26 4
gpt4 key购买 nike

如何在附加项目后保留对数组的引用?

更新了代码示例,因为之前的示例似乎不够清晰。

class ViewController: UIViewController {

var numbers = Numbers.singleton.numbers

override func viewDidLoad() {

print(numbers.count)

Numbers.singleton.add(1)

print(numbers.count) // prints 0
print(Numbers.singleton.numbers.count) // prints 1
}
}

class Numbers {

static let singleton = Numbers()

var numbers: [Int]!

private init() {
numbers = []
}

func add(number: Int) {
numbers.append(number)
}
}

最佳答案

Swift 中的数组没有“引用”。它们是结构,结构是 value type .您的(错误命名的)arrayRef 是一个单独的副本,而不是对self.array 的引用。

此外,没有充分的理由想要做您(似乎)想做的事情。对可变数组同时进行两个引用是不安全的,因为数组可以在您背后更改。 Swift 的设计是明智的;使用它,不要颠覆它。

关于ios - 如何在操作后保留对数组的引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37348845/

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