必备知识架构-①语言Swift
一、iOS开发中使用OC和swift的对比
1 | 1.import的类 |
Guard语句的语法
1 | guard expression else { |
二、【iOS】Swift和OC协议的区别?为何Swift是面向协议的?
【iOS】Swift和OC协议的区别?为何Swift是面向协议的?
相比于OC,Swift 可以做到协议方法的具体实现,而 OC 则不行。
OC中协议
(Protocol)类似一个类的接口,只声明,不实现。
只能定义公用的一套接口,但不能提供具体的实现方法。也就是说,它只告诉你要做什么,但具体怎么做不关心。具体的实现要在遵守这个协议的类中实现。
OC的Protocol与继承的区别
继承连同方法的实现也继承了,而protocol只有声明没有实现;
protocol能够作用到不同类型的类上。
OC的Protocol与Category的区别
Category可以给一个类扩充方法,既有申明也有实现;而Protocol只有声明,没有实现。
同:Category和Protocol都可以声明方法,不能声明属性。
Swift 面试题解
?? 的作用
可选值的默认值, 当可选值为nil 的时候, 会返回后面的值. 如let someValue = optional1 ?? 0