您好,欢迎来到二三娱乐。
搜索
您的当前位置:首页《Swifter Tips》 读书笔记(2)

《Swifter Tips》 读书笔记(2)

来源:二三娱乐

1.通常我们使用字面量来快速创建类型,如

let aNumber = 3
let aString = "Hello" 
let aBool = true
let anArray = [1,2,3] 
let aDictionary = ["key1": "value1", "key2": "value2"]

是因为这些类型实现了如下接口:

ArrayLiteralConvertible
BooleanLiteralConvertible
DictionaryLiteralConvertible
FloatLiteralConvertible
NilLiteralConvertible
IntegerLiteralConvertible
StringLiteralConvertible

2.AnyObject 可以代表任何 class 类型的实例
Any 可以表示任意类型,甚至包括方法 (func) 类型

3.typealias是用来为已经存在的类型重新定义名字的

4.swift中的可变参数与其他语言不一样,其他语言为了能让编译器知道可变参数有多少个,在哪里截断,通常可变参数都只能放在函数的最后一个参数,但是swift不存在这个问题,因为调用swift函数的时候,是要写参数名称的;但是也有限制,比如参数类型都要相同,而且函数只能有一个参数是可变的

5.在某个类的子类中,初始化方法语句的顺序并不是随意的,我们需要保证在当前子类实例的成员初始化完成后才能调用父类的初始化方法

一般来说,子类的初始化顺序是:

  • 设置子类自己需要初始化的参数
  • 调用父类的相应的初始化方法
  • 对父类中的需要改变的成员进行设定

定义 init 方法必须遵循三条规则
指定构造器必须调用它直接父类的指定构造器方法.
便利构造器必须调用同一个类中定义的其它初始化方法.
便利构造器在最后必须调用一个指定构造器.

Copyright © 2019- yule263.com 版权所有 湘ICP备2023023988号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务