Swift中各个关键字的代表含义(持续更新)

1.override

重写定义的前面加上 ''override'' 关键字,子类可以为继承来的实例方法,类方法,实例属性,类属性,或下标提供自己定制的实现。我们把这种行为叫重写。

2.final

防止它们被重写

说明:final 关键字可以用在 class , func 或者 var 前面进行修饰,表示不允许对该内容进行继承或 者重写操作。

3.inout

输入输出参数

4.mutating

使用 mutating 关键字修饰方法是为了能在该方法中修改 struct 或是 enum 的变量

5. !

1.'!' 强制解包 一定要获取一个值 不能够为nil。
2.'!' 强制解包有风险,需要谨慎使用,程序员需要对'!'负责 如果为nil 程序会崩溃,一定要考虑是否安全 一定有值 防患于未然。

6. ?

'?' 可选解包 后面具体说,如果可选类型要进行计算的时候,系统会报错,需要程序员手动处理可选类型。

7.??

'??' 合并空选项 必须提高 ?? 的优先级

8.convenience

构造遍历器关键字

9.required

必须实现

10. deinit

deinit:析构函数(destructor) 与构造函数相反,当对象结束其生命周期时(例如对象所在的函数已调用完毕),系统自动执行析构函数。
注释和OC中的dealloc 一样的,通常在deinit和dealloc中需要执行的操作有:对象销毁、KVO移除、移除通知、NSTimer销毁。

11.is 类型检查操作符

is 来检查一个实例是否属于一个特定的子类。如果实例是该子类类型,类型检查操作符返回true,否则返回false。

12.as?

条件形式的类型转换操作符,作用:返回一个你将要向下类型转换值的可选项。

13.as!

强制形式类型转换操作符,作用:向下类型转换和强制展开结合为一个步骤。

14.AnyObject

注释:可以表示任何类型的实例

15.Any

注释:可以表示任何类型,包括函数类型。

16.extension

注释:
一、基本解释
1.扩展为现有的类、结构体、枚举类型、或协议添加了新功能。也就是所谓的逆向建模,包括可以对无权限的源码进行扩展类型的能力。
2.extension与oc中的category类似。不同之处就是没有扩展名字。
二、功能和用途
1.添加计算实例属性和计算类型属性。
2.定义实例方法和类型方法。
3.提供新初始化器。
4.定义和使用新内嵌类型。
5.使现有的类型遵循某协议。
三、注意事项
扩展可以向一个类型添加新的方法,但是不能重写已有的方法。

17.optional

可选要求使用 optional 修饰符作为前缀放在协议的定义中

18.@objc

可选允许你的代码与 oc进行通信操作。 协议可选要求必须使用 @objc 标志标记。注意 @objc 协议只能被继承自 oc 类或 其他 @objc 类采纳。它们不能被结构体或者枚举采纳。

19._

当我们觉着某些参数可以选择性的忽略,就可以使用_代替要忽略的那个值。

20.associatedtype

关联类型通过该关键字来指定。定义一个协议时,有时在协议里声明一个或多个关联类型是很有用的。关联类型给协议中用到的类型一个占位符名称。直到代表的实际类型在协议被采纳时才会被指定。

21. typealias

用来为已经存在的类型重新定义名字的,与oc中的typedef有点类似。

22. throws

抛出错误

23. import

一个模块可以使用 import 关键字导入另外一个模块

24. open

公开权限, 最高的权限, 可以被其他模块访问, 继承及复写。只能用于类和类的成员。

25. public

公有访问权限,类或者类的公有属性或者公有方法可以从文件或者模块的任何地方进行访问。public 的权限在 Swift 3.0 后无法在其他模 块被复写方法/属性或被继承。

26. internal

internal 是内部的意思,即有着 internal 访问权限的属性和方法说明在模块内部可以访问, 超出模块内部就不可被访问了。在 Swift 中默认就是 internal 的访问权限。

27. fileprivate

文件私有访问权限,被该关键字修改的属性或者方法可以在同一个物理文件中访问。超出该物理文件,属性和方法就不能直接被访问。

28.private

私有访问权限,修饰后的类、属性、方法可以在同一个物理文件中的同一个类型(包含 extension)访问。如果超出该物理文件或不属于同一类型,就不能被访问。

29. @discardableResult(字面意思就是”可以忽略“)

1.swift正常的方法如果有返回值的话,调用的时候必须有一个接收方,否则的话编译器会报如下警告。
2.如果在方法前加上 @discardableResult 不处理的时候就不会有警告了。也可以用一个通配符_接收方法返回值,可以达到同样的目的。

Snip20200306_1.png

30.

注意事项:

1.如果一个类的访问级别是fileprivate或者private那么该类的所有成员都是fileprivate或者private的访问权限。(此时成员无法修改访问级别)。
2.如果一个类的访问级别是openinternal或者 public那么它的所有成员都是internal,类成员的访问级别不能高于类的访问级别。(注意:嵌套类型的访问级别也符合这个规则。)
3.常量、变量、属性、下标脚本访问级别低于声明的类型级别,并且如果不是默认访问级别(internal)要明确声明访问级别。例如:一个常量是private,那么该常量必须声明为private 或 fileprivate类型。
4.在不违背1、2、3潜规则的情况下,setter 访问级别可以低于getter级别。(例如:假如一个属性访问级别是internal,那么可以添加private(set)修饰将setter权限设置为private,在当前模块中只有此源文件可以访问,对外部都是只读的。)
5.必要构造方法(required 修饰)的访问级别必须和访问级别相同,结构体的默认逐一构造函数的访问级别不高于其成员的访问级别。例如一个成员是 private 那么这个构造函数就是 private,但是可以通过自定义来声明一个 public 的构造函数。

31.@noreturn

表示调用这个方法的话可以不再需要返回值,因为 程序整个都将终止。

32.@noescape

noescape是非逃逸的意思。@noescape关键字代码中扮演了一个标注的作用:来说明一个闭包参数,该闭包参数与此API是同步的,它只在此API中被调用。只要该API运行结束,该闭包的生命周期就结束。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,657评论 6 505
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,889评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,057评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,509评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,562评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,443评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,251评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,129评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,561评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,779评论 3 335
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,902评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,621评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,220评论 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,838评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,971评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,025评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,843评论 2 354

推荐阅读更多精彩内容