gpt4 book ai didi

swift - 在 Swift 中使用结构体代替类

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

我学习Swift有一段时间了,我知道结构和类之间的区别。主要区别是结构是值类型,类是引用类型,但不明白何时使用结构而不是类。请解释一下。

例如,对于协议(protocol):

首先,我们只有一个结构类型的协议(protocol):

protocol SomeProtocol{
func doSomeStuff()
}

其次,我们制作这样的类类型协议(protocol):

protocol SomeProtocol: class{
func doSomeStuff()
}

那么,请解释一下,何时我们必须使用结构类型或类类型的协议(protocol)。

最佳答案

首先,结构体通过值传递(复制),类通过引用传递(仅将内存地址复制到对象)。您可能希望将结构体用于更简单的类型,因为您可以为所有你的结构具有的属性。对于协议(protocol),第一个你可以在类、结构和枚举上使用它,第二个你说你只在类上使用它,如果你的协议(protocol)是委托(delegate)或委托(delegate),你可能想要放置类数据源,因为您希望属性(协议(protocol)类型的)弱以避免内存循环。恕我直言,将类用于多场景应用程序,因为当您在另一个场景中编辑某些内容时,无需注意更新值。

关于swift - 在 Swift 中使用结构体代替类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31634615/

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