ios - 在 Swift 中创建现有变量的副本之前,是否会使用现有变量的名称创建一个具有 'old' 的变量?

标签 ios swift

例如,我有一个名为 exampleVariable 的变量,它包含整数。它包含一个值 1。输入“Var oldExampleVariable : Int”会立即创建一个名为 oldExampleVariable 且值为 1 的变量吗?如果是这样,输入“exampleVariable = oldExampleVariable”是否会使其中之一的值为 2?如果是这样的话,哪一个的值为 2?

最佳答案

答案是它不会做这些事情。我不知道你是从哪里学来的,但这不是 Swift 的行为。

在 Swift 中,变量的值是完全独立的。而=的意思是让左边的变量持有右边的值。

当您通过向现有变量名称添加 old 前缀来创建新变量时:

var exampleVariable = 1
var oldExampleVariable: Int

它只是创建了另一个名为 oldExampleVariable 的变量,它是完全独立的并且没有被初始化。

如果你这样做:

oldExampleVariable = exampleVariable

oldExampleVariable 现在是 1,但它仍然是独立的。它恰好与 exampleVariable 具有相同的值。

关于ios - 在 Swift 中创建现有变量的副本之前,是否会使用现有变量的名称创建一个具有 'old' 的变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44492598/

相关文章:

ios - 如何通过从边缘拖动来调整 UIView 的大小?

ios - TableViewController 中的 iAd 横幅

ios - ScrollView 有 subview 时不滚动

ios - 如何知道 KVO 中的发件人?

ios - 无法为具有 subview Controller 的两个容器 UIView 的位置更改设置动画

objective-c - 我如何从 objective-c 代码中获取 Swift AppDelegate 的引用

ios - NSURLConnection 未记录到控制台

ios - 人们如何拥有显示没有 Logo 的 map 的移动应用程序

swift - 关闭 ViewController 并调用 viewDidLoad 后 ScrollView 不会重新加载

swift - 我们能否确定路由器是否正在改变其位置?例如。公共(public)汽车、火车等内的路由器