Swift简介

Swift


版本号

$ xcrun swift --version(查看当前系统版本)
  • 1.0 2014年推出的第一个版本
  • 1.2 (ABI不稳定)
  • 2.0 (不兼容1.2,ABI不稳定)
  • 2.2 (可以通过XCode自动将语法变更到swift3.0)
  • 3.0 (ABI相对稳定,使用者增加比较快)

特点

  • 优于OC,快速,现代,安全,互动
  • 取消了预编译指令包括宏
  • 可以使用现有的Cocoa和Cocoa Touch框架
  • Swift取消了OC的指针的使用
  • Swift被简单的形容为 没有 C 的 Object-C
  • 舍弃Object-C早期应用Smalltalk的语法,全面改为句点表示法,更加现代
  • 提供了类似Java的命名空间(namespace),泛型(generic),运算对象重载(operator overloading)
  • Swift 3.0版本 对Foundation框架做了大量调整
    • 大部分 去除了 'NS'前缀
    • 将绝大部分class转换为struct

与OC对比

  • 在Swift中没有main.m,@UIApplicationMain是程序的入口

  • 在Swift中只有.swift文件,没有.h/.m文件的区分

  • 在Swift中,一个类就是用一对{}括起的,没有@implementation@end

  • 每个语句的末尾没有分好,在其他语言中,分好是用来区分不同语句的

    • 在Swift中,一般都是一行一句代码,因此不用使用分号
  • 与OC的语法对比

    • 在OC中 alloc/init对应Swift中()
    • 在OC中 alloc/initWithXXX对应Swift中(XXX:)
    • 在OC中的类函数调用,在Swift中,直接使用
    • 在Swift中,绝大多数可以省略self.,但是一般不写,可以提高对语境的理解(闭包会体会)
    • 在OC中的枚举类型使用UIButtonTypeContactAdd,而在Swift中分开,操作热键:回车->向右->.
      • Swift中,枚举类型的前缀可以省略,如:.contactAdd,但是:很多时候没有智能提示
    • 监听方法,直接使用字符串引起
    • 在Swift中使用print()替代OC中的NSLog
posted @ 2017-03-20 22:08  zero的小纸条  阅读(296)  评论(0编辑  收藏  举报