这是一个非常愚蠢的问题,也许我现在就不知道了。如何同时更改多个变量?假设我有这个:

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的StringArray是值类型。例如,您可以这样使用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/

10-12 14:57