Swift4.0复习协议】的更多相关文章

1.协议的定义: /// 定义一个协议MyProt protocol MyProt {   /// 声明了一个实例方法foo, /// 其类型为:() -> Void func foo()   /// 声明了一个实例方法doSomething, /// 其类型为(Int) -> Int? /// 它可用于结构体与枚举类型中的可修改存储式实例属性的方法 mutating func doSomething(a: Int) -> Int?   /// 声明了一个类型方法typeMethod,…
1.Swift中的特性: @引出,后面紧跟特性名,圆括号带参数即可. @attribute(args) avaiable: 指明对象,函数,类型的可用性. @available(iOS 10.0, macOS 10.10, *) discardableResult: 用于修饰带有返回值的函数或方法,以指明当前函数或方法的返回值可被缺省. @discardableResult func foo(a: Int) -> Int { }   func foo(_: Void) -> Int { }  …
1.访问等级: open: 可以继承,可以重写. public: “public 访问等级能用于修饰所有文件作用域的函数.对象.协议.枚举.结构体.类以及各种类型中的属性与方法.用 public 所修饰的对象.函数.类型及类型的属性和方法能被其他模块所使用.但是其他模块不能继承当前所定义的类类型,也不能对当前类类型中的属性和方法进行重写.所以 public 访问等级比 open 要低一级,但其适用范围比 open 要广.” 摘录来自: “大话Swift 4.0”. iBooks. interna…
1.Swift中错误的表示: “在Swift中如果我们要定义一个表示错误的类型非常简单,只需遵循 Error 协议即可.我们通常用枚举或结构体类型来表示错误类型,当然枚举可能用得更多些,因为它能更直观地表达当前错误类型的每种错误细节.” 摘录来自: “大话Swift 4.0”. iBooks. /// 定义一个枚举类型的错误类型 enum MyEnumError: Error { case errorOne case errorTwo   /// 实现Error协议的localizedDescr…
1.扩展计算式属性: 2.对方法进行扩展: /// 定义枚举类型Light, /// 它指定了基本类型String enum Light: String { case red = "red" case green = "green" case blue = "blue" }   /// 对Light枚举类型进行扩展 extension Light {   /// 扩展出不带参数的初始化器方法 init() { // 这里默认值设定为red sel…
1.类型定义: /// 这里将MyInt定义为Int32类型 typealias MyInt = Int32   /// 这里将MyArrayInt定义为[MyInt]数组类型 typealias MyArrayInt = [MyInt] 2.元类型: “元类型(metatype)是指可引用某个类型的类型对象的类型.” 摘录来自: “大话Swift 4.0”. iBooks. let a = .self   // 输出:a = 10 print("a = \(a)")   let tu…
1.类的属性: 2.类的方法: 3.类作为引用类型: “Swift新增了一对操作符 === 与 !== 用于判定同一个类的两个对象引用是否指向同一对象实例.” 摘录来自: “大话Swift 4.0”. iBooks. 4.继承: 添加 final 关键字,如果对一个用 final 所修饰的类进行继承,那么编译器就会直接报错.当然,我们也可以用 final 关键字去修饰一个类中的方法,使得它不允许被其子类重写. 5.对属性的继承: “当子类B重写了父类A的某一存储式实例属性的属性观察者之后, 我们…
1.五种类型: 包含五种类型——枚举(enum).结构体(struct).类(class).协议( protocol)以及函数类型(function types). 2.变量对象:var 3.常量对象:let 4.对象声明与类型标注: 5.Swift中的下划线:表示缺省对象 6.Swift中的语句和表达式: 7.Swift中的标识符: Swift中可以通过对关键字前后加 ` 符号作为标识符来使用.以下代码中的标识符都是合法的.let `var` = 0let `inout` = 0let `he…
1.基本语法: /** 定义了一个结构体 */ struct Structure {   /// 一个常量存储式实例属性, /// 并直接为它初始化 let constProperty =   /// 一个变量存储式实例属性 var property: Int   /// 初始化器 init() { property = }   /// 实例方法 func method() { print("This is a structure") } }   2.存储式实例属性: “在Swift中…
1.枚举类型: “Swift编程语言中,枚举类型属于值类型,而不是引用类型.” 摘录来自: “大话Swift 4.0”. iBooks. 2.枚举类型和枚举对象的定义: enum Enumeration { case value1 case value2 case value3; case value4, value5 case value6 } 3.指定基本类型和原生值: /// 将IntEnum指定为Int类型 enum IntEnum: Int { case zero , two, thr…