swift 小记

1、可选类型。

1.转义特殊字符 \0 (空字符)、\\(反斜线)、\t (水平制表符)、\n (换行符)、\r (回车符)、\" (双 引号)、\' (单引号)。

2.单字节 Unicode 标量,写成 \xnn,其中 nn 为两位十六进制数。

3.双字节 Unicode 标量,写成 \unnnn,其中 nnnn 为四位十六进制数。
4.四字节 Unicode 标量,写成 \Unnnnnnnn,其中 nnnnnnnn 为八位十六进制数。 

 

5、注意:结构体总是通过被复制的方式在代码中传递,因此请不要使用引用计数。

结构体实例总是通过值传递,类实例总是通过引用传递。
计算属性可以用于类、结构体和枚举里,存储属性只
能用于类和结构体。

属于引用类型的类(class)则不一样,把一个引用类型的实例赋给一个常量后,仍然可以 修

改实例的变量属性。

6、

因为类是引用类型,有可能有多个常量和变量在后台同时引用某一个类实例。(对于结构体 和枚举来说,这并不成立。因为它们作值类型,在被赋予到常量,变量或者传递到函数

时,总是会被拷贝。)

 
 
 7、

除存储属性外,类、结构体和枚举可以定义计算属性,计算属性不直接存储值,而是提供 一

个 getter 来获取值,一个可选的 setter 来间接设置其他属性或变量的值。

8、

结构体和枚举能够定义方法是 Swift 与 C/Objective-C 的主要区别之一。 

9、

具体来说,Swift 默认仅给方法的第一个参数名称一个局部参数名称;默认同时给第二个和后 续的参数名称局部参数名称和外部参数名称 

10、

声明类的类型方法,在方法的 func 关键字之前加上关键字 class;声明结构 体和枚举的类型方法,在方法的 func 关键字之前加上关键字 static。 

11、

类和结构体在实例创建时,必须为所有存储型属性设置合适的初始值。存储型属性的值不

能处于一个未知的状态。 

12、

对于生命周期中引用会变为 nil 的实例,使用弱引用;对于初始化时赋值之后引用再也不会

赋值为 nil 的实例,使用无主引用。 

13、

注意:扩展可以添加新的计算属性,但是不可以添加存储属性,也不可以向已有属性添加属 性观测器(property observers)。 

14、

协议方法支持变长参数(variadic parameter),不支持默认参数(default parameter)。 

15、委托模式的实现很简单: 定义协议来封装那些需要被委托的函数和方法, 使其遵循者拥有 这些被委托的函数和方法。

16、

可选协议只能在含有@objc 前缀的协议中生效。且@objc 的协议只能被类遵循。 

17、

可以对类型的实例使用dynamicType 表达式来获取该实例在运行阶段的类型

 

转载于:https://www.cnblogs.com/yanggongfu/p/4613591.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值