据寻小山问答小编了解,Swift取消了Objective-C的指针和其他不安全访问的使用,舍弃了Objective C早期套用Smalltalk风格的语法,全面改为句点表示法(dot-notation)。Swift具备类型推导(type inference)。同时,它提供了类似C++、C#中的名字空间(namespace)、泛型(generic)、运算符重载(operator overloading)。Swift被简单的形容为 “没有C的Objective-C”(Objective-C without the C)。
一、Swift语言的特点
苹果编程语言Swift语言的特点是:快速、现代、安全、互动,而且明显优于Objective-C语言。Swift以LLVM编译,可以使用现有的Cocoa和Cocoa Touch框架。Xcode Playgrounds功能是Swift为苹果开发工具带来的最大创新,该功能提供强大的互动效果,能让Swift源代码在撰写过程中能即时显示出其运行结果。
据寻小山问答小编了解,Swift取消了Objective-C的指针和其他不安全访问的使用,舍弃了Objective C早期套用Smalltalk风格的语法,全面改为句点表示法(dot-notation)。Swift具备类型推导(type inference)。同时,它提供了类似C++、C#中的名字空间(namespace)、泛型(generic)、运算符重载(operator overloading)。Swift被简单的形容为 “没有C的Objective-C”(Objective-C without the C)。
二、Swift语言的优点
1、 简洁的语法,性能较好
swift语言比OC精简,整个项目中丢掉了.h头文件,以及头文件的引入。性能是Objective-C的1.3倍
2、报错精准
报错的时候直接显示报错行。
3、定义变量简单
定义变量不用区分整型,浮点型等等,变量使用var,常量使用let。
4、可视化互动效果
开发工具带来了Xcode Playgrounds功能,该功能提供强大的互动效果,能让Swift源代码在撰写过程中实时显示出其运行结果。
5、函数式编程的支持(Map、FlatMap、Filter、Reduce等函数方法)
Swift 语言本身提供了对函数式编程的支持;
Objc 本身是不支持的,通过引入 ReactiveCocoa 这个库才可支持。
三、Swift语言的缺点
1、推广度还不全面,资源少
很多大公司,以及一些老的项目,仍然使用OC语言进行开发。当遇到一些问题的时候,解决问题的方案很少,网上的资源也很稀缺。
2、还不稳定
从swift2.0到swift3.0再到现在的swift4.0区别很大,每次升级都会有几十甚至上百个错误提示,难免急出一身冷汗。
3、第三方库的支持不够多
现在swift版本的第三方库是非常稀有的,有时需要导入OC版本的第三方来进行混合开发,而有的·兼容性·并不好,而且使项目变大,运行速度也会变慢。
4、App体积变大
使用 Swift 后, App 体积大概增加 5-8 M左右,对体积大小敏感的慎用。(体积变大的原因是因为 Swift 还在变化,所以 Apple 没有在 iOS 系统里放入 Swift 的运行库,反而是每个 App 里都要包含其对应的 Swift 运行库。)
5、上线方式改变
不能使用application Loader上传包文件,会提示你丢失了swift support files,只能使用xcode直接上传。
一周热门 更多>