业务需求:
修改给定数组中模型的值
在OC中,遍历查找,然后直接修改model就行了(地址未变)
在swift中,遍历出来的已经是新的对象(地址变了),所以修改后数组并没有修改值
import UIKit
var arr:[Int] = [1,2,3]
print(arr)
func dealDate (paramete:inout Int){
paramete+=1
}
for var (index,i) in arr.enumerated() {
if i == 2 {
dealDate(paramete: &arr[index])
print(i)
}
}
print(arr)
输出结果:
[1, 2, 3]
2
[1, 3, 3]
inout 关键字,传入对象地址,方便修改
本文探讨了在Swift编程语言中使用inout关键字来修改数组元素的机制。通过对比Objective-C中直接修改地址的做法,说明了Swift中变量复制与地址传递的区别,以及如何利用inout关键字实现对原始数组的更新。
17

被折叠的 条评论
为什么被折叠?



