在Swift上,请参阅Apple文档的ClassesAndStructures:类将称为“引用类型”,而Struct将是“值类型”: – 类是引用类型:与值类型不同,将引用类型分配给变量或常量或将它们传递给函数时, 不会复制引用类型 。 而不是副本,而是使用对相同现有实例的引用。 – 结构和枚举是值类型: 值类型是一种类型,其值在分配给变量或常量或传递给函数时将被复制 。 因此,让我们尝试下面的示例来了解什么是引用类型,值类型: class HumanClass { var name: String init(name: String) { self.name = name } } var classyHuman = HumanClass(name: “Bob”) classyHuman.name // “Bob” var newClassyHuman = classyHuman // Created a “copied” object new ClassyHuman.name = “Bobby” classyHuman.name // “Bobby” 当我将newClassHuman的name属性更改为“ Bobby”时,原始对象的name属性,classyHuman也更改为“ Bobby”。 那么Struct怎么样,让我们看下面的例子: struct HumanStruct […]
之前,我们介绍了使用泛型和枚举进行闭包。 开始进行Swift编程第15部分-具有泛型和闭包的枚举 在上一篇文章中,我们讨论了错误处理。 medium.com 在本课程中,我们将逐步摆脱所有这些问题,并讨论一些可使您的代码更有效率的事情。 进出 inout是将参数传递给函数时使用的关键字。 当我们想要将变量传递给函数并修改该变量的值而不创建新变量时,使用inout 。 让我们看一下如何使用inout和不使用inout修改值。 懒 创建类时,几乎总是创建该类使用的属性。 这些属性可能只是我们打开或关闭以确定类的当前状态的标志,或者它们可能是更大的对象,例如新类用来执行某些操作的另一个类。 让我们看一个例子,我保证它是相关的。 吸气剂和二传手 获取器和设置器是计算属性的一部分。 他们是与属性观察者didSet和willSet 。 您可能还记得,当计算属性即将更改或已更改时, didSet和willSet在那里执行额外的任务。 获取器和设置器为我们提供了可用于设置值或检索值的逻辑。 这是一个例子