Swift通过引用

时间:2016-03-03 11:07:00

标签: swift reference append

您好我想通过引用附加一个字符串。 例如:

var str = "old"
func foo(){
  list.append(str)
}
func changeStr(){
  str = "new"
}

我的问题是str(" old")的值被追加而不是引用,所以当我将str改为" new"它对列表没有任何影响。 我的问题是如何添加对字符串var的引用? 感谢。

1 个答案:

答案 0 :(得分:0)

您必须将字符串包装在类中。让数组保存类的成员,并使用新的字符串值更新类对象。

就像你曾经使用过任何语言的一组int一样。

最佳解决方案是习惯标准的Swift /功能习语。

- 示例 -

    class StringObject {
        init(str: String) {
            self.str = str
        }
        var str: String = ""
    }

    let so = StringObject(str: "old")
    func foo() {
        list.append(so)
    }
    func changeStr() {
        so.str = "new"
    }