绝大多数公司选择Swift语言开发iOS应用,主要原因是因为Swift相比Objc有更快的运行效率,更加安全的类型检测,更多现代语言的特性提升开发效率;这一系列的优点使Swift语言的热度越来越高。由于栈区内存是连续的,内存的分配和销毁是通过入栈和出栈操作进行的,速度要高于堆区。多态是面向对象的一大特性,在结构体中不能通过继承或者引用语言的多态,swift就引入了协议,通过协议来实现了结构体的多态特性,这也是swift面向协议编程的核心所在。而结构体没有继承,也就是说结构体并没有v-table表用于函数的派发。为了实现这一特性,在结构体的协议的实现里添加了Protocol Witness Table用于管理协议类型的方法派发。
暂无评论