我正在快速编写代码,对于如果在迭代循环内或循环外声明变量,变量将如何工作感到好奇。

范例1:

loop {

  var x = 1

  do something with x

}

范例2:
var x = 1

loop {

  do something with x

}

第一个会继续创建引用x的东西吗?还是两者的内存不会有所不同?

最佳答案

范例1:

在每个循环中保留alloc变量x和dealloc变量x。每个人都有相同的值,但指针不同。

您可以在每个循环中处理相同的VALUE。但是您不能在循环外部访问x。

范例2:
在每个循环的开始,x的值可能会更改。

您可以在每个循环中处理相同的POINTER。您可以在循环外部访问x。

关于ios - 将在Swift构建内存中一遍又一遍地声明相同的var吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32515023/

10-13 04:28