Swift   发布时间:2022-03-31  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了swift – Enum,Structs,Classes之间的区别大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

参见英文答案 > How should I reason when I have to choose between a class, struct and enum in Swift?                                    7个 所以我一直在网上研究,我找不到这三个的简单定义.我知道An Enum和Struct可以包含Properties,Initializers
@H_772_13@
参见英文答案 > How should I reason when I have to choose between a class,struct and enum in Swift?                                    7个
所以我一直在网上研究,我找不到这三个的简单定义.我知道An Enum和Struct可以包含Properties,Initializers和Methods,并且两个数据结构也都通过’value’传递,但这就是它……

我想知道,这3个(Enum,Structs,Classes)有什么区别?在每个最简单的定义?

解决方法

我认为 Chris Upjohn对树屋中的主题给出了一个相当简单但很好的解释:

枚举

枚举被认为是一种结构化数据类型,可以修改而无需在代码中多次更改说出String或Int,例如,下面显示了意外更改内容并忘记在某处更改它是多么容易其他.

let myString = "test"

if myString == "ttest" {
  // Doesn't execute because "ttest" is the value assigned to "myString"
}

有了枚举,我们就可以避免这种情况,也不必担心不止一次改变同一个东西.

enum MyEnum: String {
  case Test = "test"
}

let enumValue = MyEnum.Test

if enumValue == MyEnum.Test {
  // Will execute because we can reassign the value of "MyEnum.Test" unless we do so within "MyEnum"
}

结构

我不确定你对MVC模式有多了解,但是在Swift中,这是一种常见的做法,在我解释结构是如何有用之前我将在Swift中快速概述MVC.

模型 – 结构,用于管理大量数据
视图 – 任何扩展UIView的东西,通常都是你在故事板上管理的控制器
Controller – 类,通常仅用于UIView控制器和UITableView等视图

例如,我所说的移动结构用于管理大量数据,人类是一个很好的例子,因为我们可以使用结构来管理联系人列表中的每个人.

struct Birthday {
  var day: Int
  var month: Int
  var year: Double
}

struct Person {
  var firstName: String
  var lastName: String
  var birthday: Birthday
  var phonenumber: String
  var emailAddress: Int
}

对于您拥有的每个联系人,您将创建一个包含基本详细信息的新Person对象以及一个完全可重用的Birthday结构,使用Birthday结构的好处是我们可以扩展它而不会破坏我们的代码,如果我们需要格式化此人生日的简单方法我们可以添加一个额外的功能,而不会影响我们的其余代码.

通常情况下,您只能找到类绑定视图,当绑定到视图时,只要调用视图,iOS就会自动分配类的新实例,第二次调用视图时,它会请求已创建的类实例.

类的其他用途是实用程序帮助程序,您可以将其创建为单例,这更像是一个高级概念,通常您只需要在较大的应用程序上创建这样的代码,因为通常您需要的所有内容都已内置但是如果您推荐它确实需要使用扩展程序的其他功能,该扩展程序允许您添加到任何内置对象并创建自己的下标.

免责声明:以下文字属于Chris Upjohn.我无法用Swift解释它(可能在一般的CS术语中,使用其他语言),因此我没有看到任何重写类似于此的点.

希望能帮助到你!

大佬总结

以上是大佬教程为你收集整理的swift – Enum,Structs,Classes之间的区别全部内容,希望文章能够帮你解决swift – Enum,Structs,Classes之间的区别所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。