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
    不忘初心,方得始终
  • 相关阅读:
    漫谈C语言结构体
    如何理解c和c++的复杂类型声明
    STM32 时钟系统
    STM32 系统架构
    运放参数的详细解释和分析-part1,输入偏置电流和输入失调电流【转】
    ROM、RAM、DRAM、SRAM、FLASH的区别?
    FATFS模块应用笔记
    关于I2C和SPI总线协议【转】
    USB编程概念
    Ubuntu手机识别
  • 原文地址:https://www.cnblogs.com/jialiangliang/p/6591921.html
Copyright © 2011-2022 走看看