gpt4 book ai didi

ios - 在 swift 4.2 中交换数组值时检测到致命访问冲突

转载 作者:可可西里 更新时间:2023-11-01 00:54:06 24 4
gpt4 key购买 nike

我正在尝试使用 Swift 4.2 中提供的直接交换方法来交换存储模态数据的数组的值,但它崩溃了。有人可以告诉我为什么这不起作用吗?

   if modalArray.count >= 2{
swap(&modalArray[0], &modalArray[1])
}

我得到的错误是:

Thread 1: Simultaneous accesses to 0x600001c4cb08, but modification requires exclusive access

当我跳转到 swap 时,我得到了说明它应该工作的定义。请引用下图。

enter image description here

最佳答案

尝试使用 swapAt(_:_:) 方法

if modalArray.count >= 2{
modalArray.swapAt(0, 1)
}

关于为什么你的不起作用,swap 不应该用在可变集合上。

Apple Doc for swap

The two arguments must not alias each other. To swap two elements of a mutable collection, use the swapAt(::) method of that collection instead of this function.

关于ios - 在 swift 4.2 中交换数组值时检测到致命访问冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56391304/

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