gpt4 book ai didi

ios - 快速启用使用 copy() 或 unshare 方法()

转载 作者:可可西里 更新时间:2023-11-01 02:23:40 26 4
gpt4 key购买 nike

在我的第一个 Swift 项目中,我尝试复制一个数组及其对海关对象的引用。经过多次研究,我意识到最好的方法是使用 copy() 或 unshare()。但就我而言,这种方法不存在!

例如,我声明变量数据:

var datas:Array<ChartColor> = [ChartColor]();

(ChartColor 是扩展 NSObject 的自定义类)

但是如果我尝试将数据复制到另一个数组中,就像这样:

var datasCopied:Array<ChartColor> = self.datas.copy();

copy() 方法不存在,出现编译错误:

“Array”没有名为“copy”的成员

我的 xCode 版本是 6.2 (6C131e)

我的情况如何复制?

最佳答案

如果您在 Swift 中查找数组定义(Cmd-click),您将看到 swift 中的数组本质上是 struct 的,并且:

Structures and Enumerations Are Value Types

A value type is a type whose value is copied when it is assigned to a variable or constant, or when it is passed to a function.

...因此,对于复制数组,一个简单的赋值就足够了。

例如:

var source = [1, 2, 3]
var destination = source // Copy

source[0] = 10

source // [10, 2, 3]
destination // [1, 2, 3]

关于ios - 快速启用使用 copy() 或 unshare 方法(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29149021/

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