【发布时间】:2019-05-31 08:20:57
【问题描述】:
我正在尝试使用 Swift 4.2 中可用的直接交换方法来交换存储模态数据的数组的值,但它崩溃了。有人可以建议我为什么这不起作用。
if modalArray.count >= 2{
swap(&modalArray[0], &modalArray[1])
}
我得到的错误是:
线程1:同时访问0x600001c4cb08,但修改 需要独占访问权限
当我跳到 swap 时,我得到了它应该起作用的定义。请参考下图。
【问题讨论】:
-
实际上定义说它不会起作用,它还为您提供了另一种选择 - 请参阅 Joshua 的回答。
-
为了进一步解释,因为 Apple 使用的术语可能并不完全清楚,短语“...不能相互别名”意味着它们不能指代相同的底层事物。这包括不在同一个集合中的元素。