这是一个非常愚蠢的问题,也许我现在就不知道了。如何同时更改多个变量?假设我有这个:
var bob = "bob"
var joe = "joe"
var arr = [bob, joe]
arr[1] = "joseph"
print(joe)
// this returns "joe" and not sarah, because what happened is, arr is now equal to [bob, sarah]
我怎样才能修改arr,而实际的“joe”变量却被更改了呢?不仅仅是数组值?
很傻的问题,对不起。
最佳答案
您必须使用引用类型才能使其工作,因为Swift的String
和Array
是值类型。例如,您可以这样使用NSMutableString
:
import Foundation
let bob: NSMutableString = "bob"
let joe: NSMutableString = "joe"
let arr = [bob, joe]
arr[1].setString("joseph")
print(joe)
// Output: joseph
不过,five whys在这里可能更合适。
关于arrays - 如何使用数组更改多个变量,而不是值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37957165/