以下代码给出编译错误,因为它认为传递给函数的数组不再可变。我知道 Array 是一个结构,因此通过值而不是引用传递,那么您如何处理类似于将结构传递给方法并希望能够修改它的情况? 在这种情况下不想使用扩展程序。
var array = ["1", "2", "3"]
array.removeLast()
removeOne(array)
func removeOne(array: Array<AnyObject>) {
array.removeLast()
}
最佳答案
@Mike S 上面的回答是正确的,但如果你想将它用于任何类型,你将需要一个通用函数:
func removeOne<T>(inout array: Array<T>) {
array.removeLast()
}
var array = ["1", "2", "3"]
removeOne(&array)
关于Swift - 将结构传递给方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25345537/