我正在快速编写代码,对于如果在迭代循环内或循环外声明变量,变量将如何工作感到好奇。
范例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/