gpt4 book ai didi

arrays - 将数组中的可选值赋给 nil

转载 作者:行者123 更新时间:2023-11-30 10:13:32 25 4
gpt4 key购买 nike

我正在尝试创建一个方法,该方法采用 CGPoint 选项数组,并将它们每个都分配为 nil。我收到错误“无法将 nil 类型的值分配给 CGPoint 类型的值?”。我很困惑,因为我认为可选值可以为零或某种类型的指定对象。感谢您的帮助(:

func resetArray(arr: [CGPoint?])
{
for index in 0...arr.count-1
{
arr[index] = nil
}
}

最佳答案

当参数传递给函数时,它是不可变的,因此不允许您更改它。对于数组,作为值类型,这意味着您不能使用任何mutating方法或以其他方式执行任何更改值的操作。

您可以通过在参数前面加上 inout 修饰符来使参数可写:

func resetArray(inout arr: [CGPoint?])
^^^^^

请注意,调用函数时,必须在参数前面加上 & 与符号:

var array = [...]
resetArray(&array)
^

您还可以使参数可修改,但更改仅在函数体内可见(这意味着更改发生在传递给函数的原始参数的副本上) - 这可以通过使用 来完成var 修饰符:

func resetArray(var arr: [CGPoint?])
^^^

关于arrays - 将数组中的可选值赋给 nil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31540810/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com