(⼋)iOS开发之Swift常问⾯试题
Swift 是苹果在2014年推出的⾯向对象开发的语⾔,⽤来撰写OS X 和 iOS 应⽤程序的强类型语⾔。⽬前越来越多公司⽤ Swift 完成。这⾥整理了⼀些常问到的 Swift ⾯试问题。
摘录与以下⼀些⽹站:
浅谈Swift和OC的区别
Swift 基本使⽤
Objective-C 和 Swift ⾯试题
⾮常感谢上⾯⽹站的博主
以后持续更新这个⽂章。
(⼀)Sw ift 与 Objec tive-C 的联系与区别?
Swift和Objective-C 共⽤⼀套运⾏时环境,Swift 的类型可以桥接到Objective-C(下⾯我简称OC),反之亦然。两者可以互相引⽤混合编程。其次就是,OC 之前积累的很多类库,在 Swift 中⼤部分依然可以
直接使⽤,当然,Swift3之后,⼀些语法改变了很多,不过还是有迹可循的。OC出现过的绝⼤多数概念,⽐如引⽤计数、ARC、属性、协议、接⼝、初始化、扩展类、命名参数、匿名函数等,在Swift中继续有效(可能最多换个术语)。Swift⼤多数概念与OC⼀样。当然Swift也多出了⼀些新兴概念,这些在OC中是没有的,⽐如范型、元组等。
(⼆)Sw ift ⽐ Objec tive-C 有什么优势?
1. Swift 容易阅读,语法和⽂件结构简易化。
2. Swift 更易于维护,⽂件分离后结构更清晰。
3. Swift 更加安全,它是类型安全的语⾔。
4. Swift 代码更少,简洁的语法,可以省去⼤量冗余代码。
5. Swift 速度更快,运算性能更⾼。
(三)Sw ift⽬前存在的缺点
1. 版本不稳定,之前升级Swift3⼤动⼑,苦了好多⼈。
2. 使⽤⼈数⽐例偏低,⽬前还是OC的天下。
3. 社区的开源项⽬偏少,毕竟OC独⼤好多年,很多优秀的类库都不⽀持Swift,不过这种状况正在改变,现在有好多优秀的Swift的开源类库了。
4. 公司使⽤的⽐例不⾼,很多公司以稳为主,还是在使⽤OC开发,很少⼀些在进⾏混合开发,更少⼀些是纯Swift开发。
5. 偶尔开发中遇到的⼀些问题,很难查到相关资料,这是⼀个弊端。
6. 纯Swift的运⾏时和OC有本质区别,⼀些OC中运⾏时的强⼤功能,在纯Swift中变⽆效了。
7. 对于不⽀持Swift的⼀些第三⽅类库,如果⾮得使⽤,只能混合编程,利⽤桥接⽂件实现。
(四)Sw ift 相⽐ Objec tive-C 独有的语法
1. 范围运算符
学swift语言能干什么a..<b 表⽰ [a,b) 包括a,不包括b 。 (如3...5 就是范围取3,4)
常见的如for循环:for i 9{}
2. 独有的元组类型
元组(tuples)把多个值组合成⼀个复合值。元组内的值可以使任意类型,并不要求是相同类型。eg:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。