zoukankan      html  css  js  c++  java
  • 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
    不忘初心,方得始终
  • 相关阅读:
    [洛谷][P1503][鬼子进村][Treap]
    [noi 2004] 郁闷的出纳员
    bzoj 3224,tyvj 1728普通平衡树
    Treap
    [模拟赛]棘手的操作
    bzoj 4551[Tjoi2016&Heoi2016]树
    bzoj2527 [Poi2011]Meteors
    bzoj4152 [AMPPZ2014]The Captain
    bzoj4516 [Sdoi2016]生成魔咒
    bzoj4547 小奇的集合
  • 原文地址:https://www.cnblogs.com/jialiangliang/p/6591921.html
Copyright © 2011-2022 走看看