【问题标题】:How can we create same instance of var in swift language我们如何用 swift 语言创建相同的 var 实例
【发布时间】:2014-06-14 12:08:00
【问题描述】:
 var one = "one"
 var two = "two"
 two = one
 one = "three"
 println(one)
 println(two)

它输出:

一个

有什么方法可以创建相同的字符串实例吗?

【问题讨论】:

  • 字符串是结构,因此这是预期的行为
  • 所以我们不能像在 Objective-C 中那样制作相同的实例
  • 变量不是指针?还是他们?我还没有深入了解 Swift。
  • 与您的示例等效的 Objective-C 代码的行为方式完全相同,因为您正在重新分配 one 指针,而不是更改对象。
  • 类似于C#,变量可以是引用类型(类)或值类型(结构/枚举)。值类型总是被复制。 String 是值类型。 (但您的示例与这些完全无关)

标签: swift


【解决方案1】:

如果您将 String var 包装在类对象中,然后分配对象并打印对象 String 内容,您将获得所需的按引用分配行为。那是因为 var 对象是由指针引用的,而 var Strings 是由 struct 拷贝的。

【讨论】:

  • 即使字符串是引用类型,编写的代码也会产生完全相同的结果。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-08-05
  • 2020-06-04
  • 1970-01-01
  • 2014-01-26
  • 2014-08-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多