黑马程序员:ios面试宝典之swift

黑马程序员:ios面试宝典之swift

ID:8970927

大小:15.39 KB

页数:6页

时间:2018-04-13

黑马程序员:ios面试宝典之swift_第1页
黑马程序员:ios面试宝典之swift_第2页
黑马程序员:ios面试宝典之swift_第3页
黑马程序员:ios面试宝典之swift_第4页
黑马程序员:ios面试宝典之swift_第5页
资源描述:

《黑马程序员:ios面试宝典之swift》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、1.Swift(★)一.Swift和Objective-C的联系1>Swift与Objective-C共用同一套运行时环境我们编写程序,让程序运行起来,被机器执行的代码并非全部是由我们自己来编写的。需要同时运行很多预先写好的支持性的代码,才能让我们自己的代码运行起来。程序并非单独存在的,运行时处在一定的环境当中。我总联想到很多小蚂蚁在泥土上面爬,而我自己写的程序只是其中的一只。Swift跟Objective-C编译出的程序代码运行在同一套运行环境上面。Swift的类型可以桥接到Objective-C的类型,反之亦然。Swift编写的代码可以调用Objective-C

2、编写的代码,反之也一样。Objective-C之前积累下来的大量类库,实现不用改写Swift就可以直接调用。2>同一个工程,可以同时使用Swift和Objective-CObjective-C在一端,Swift在另一端,两端经中间文件进行桥接。桥接文件包含Objective-C的头文件,编译时自动转成Swift可以识别的形式。Swift就可以使用Objective-C的类和它的函数。在Swift的类中,加上@objc(类名)的字样,Objective-C也可以使用Swift编写的类。但Swift跟C++的相互调用,需要Objective-C来封装。3>Swift骨子

3、里大多与Objective-C一样Objective-C出现过的绝大多数概念,比如引用记数、ARC、属性、协议、接口、初始化、扩展类、命名参数、匿名函数等,在Swift中继续有效(可能只是换了个术语)。我自己将Swift看成是Objective-C的一块大大的语法糖,其他人可能有不同感受。Swift大多数概念与Objective-C一样,也有些概念在Objective-C找不到对应,比如泛型。Swift中将那种操作写一次就可以作用多个类型的语法叫做Generics(泛型)。一.Swift比Objective-C有什么优势?1>,Swift容易阅读不再需要行尾的分号,

4、以及if/else语句中围绕条件表达式的括弧。另外就是方法的调用不再互相嵌套成中括号[[[]]]。Swift中的方法和函数的调用使用行业内标准的在一对括弧内使用逗号分隔的参数列表。这样做的结果就是一种带有简化了句法和语法的更加干净有表现力的语言。2>,Swift更易于维护Swift丢掉了对着两个文件的要求。Xcode编译器可以自动计算出以来并执行增量构建。如此,将头文件同实现文件相分离。把Objective-C头文件(.h)和实现文件(.m)合并成了一个代码文件(.swift)3>,Swift更加安全Swift代码中的可选类型使得一个nil可选值的可能性变得非常的明

5、确,这意味它能在你写下一段糟糕的代码时会生成一个编译器错误.这就建立了一种短程反馈的循环,可以让程序员带着目标去写代码.问题在代码被写就时就可以被修复,这大大节省了你要在修复有关来自Objective-C指针逻辑的bug时需要耗费的时间和金钱.4>,Swift代码更少Swift减少了重复性语句和字符串操作所需要的代码量。在Objective-C中,使用文本字符串将两块信息组合起来的操作非常繁琐。Swift采用当代编程语言的特性,比如使用“+”操作符将两个字符串加到一起Swift中的类型系统减少了代码语句的复杂性--作为编译器可以理解的类型。比如,Objective-

6、C要求程序员记住特殊字符标记(%s,%d,%@)并且提供了一个用逗号分隔的变量来代替每个标记。Swift支持字符串插入,这就消除了需要记住的标记和允许程序员直接插入变量到面向用户的字符串中5>,Swift速度更快删除遗留下来的C语言约定大大提升了引擎盖之下Swift的性能,进行计算密集型任务的性能上,Swift已经逼近C++的表现,将近是OC运行速度的1.4倍.总结:使用Swift,程序员只要维护原来一半量的代码文件,手动的代码同步工作为零,标点输入出错的概率也远远低于以前--这样就能腾出更多的时间写高质量的代码。通过使用可选类型——一种针对返回或不返回值的编译时安

7、全机制,而返回值是同步操作、网络失效时无效的用户输入以及数据验证错误发生时普遍会遇到的问题。ARC在Swift中对过程式C风格的代码,还有苹果公司Cocoa框架使用的面向对象代码都进行了统一。一.Swift的内存管理是怎样的?Swift使用自动引用计数(AutomaticReferenceCounting,ARC)来简化内存管理,这种内存管理方式相比GC而言,对程序员的要求较高,并且ARC比GC更容易引起编程错误,但却比GC快。尤其在性能很重要的场合。二.Swift支持面向过程编程吗?它采用了Objective-C的命名参数以及动态对象模型,可以无缝对接到现有的

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。