gpt4 book ai didi

struct - 如何实现苹果为其 Swift 类型(如数组、字典和字符串)使用的模式

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

假设我有一个自定义容器类,我想通过复制来传递它,但我不想在每次将其传递给函数时都复制它。所以我想复制 Apple 用于创建 StringArrayDictionary 结构的模式。我如何创建一个容器结构,只要在该结构的副本上使用 setter ,该结构只生成一个副本。该类实现了 NSCopying,使其在需要时非常容易复制。

最佳答案

我相信 Swift 对结构使用写时复制。这意味着它的行为就好像每次发生传递值时都在进行复制一样。但是,只有当被复制的对象发生变异时才会进行复制。

为了创建您自己的类型来利用此行为,请将其创建为struct。您会发现必须将任何改变结构状态的函数创建为mutating func

关于struct - 如何实现苹果为其 Swift 类型(如数组、字典和字符串)使用的模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25496437/

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