2016-06-22 27 views
0

這是一個非常愚蠢的問題,也許我現在只是空白。我怎樣才能一次更改多個變量?假設我有這個:如何使用數組更改多個變量,而不是數值?

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」變量被更改?不只是數組值?

非常愚蠢的問題,對不起。

回答

2

因爲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可能更適合這裏。

相關問題