一. 基本知识
swfit5.1后ABI 基本稳定
-
API:Application Programming Interface
源代码跟库之间的接口 -
ABI: Application Binary Interface :应用程序二进制接口:应用程序跟操作系统的接口
3.OC跟swift的编译器前端分别是:clang 和 swiftC 都存在在xcode里面
二. 一些关于SwiftC的简单操作:<简单了解>
- 导出swift文件的语法树:
swiftc -dump-ast main.swift - 生成简洁的SIL代码:
swiftc -emit-sil main.switf就是swift的中间代码 - 生成LLVM IR代码:
swiftc -emit-ir main.swift -o main.ll - 生成汇编代码:
swiftc -emit-assembly main.swift -o main.s后面-o main.s就是导出的意思 - OC 跟 swift生成的汇编代码是一致的
三.Hello world
- 不需要编写
main函数,Swift将全局范围内的首句可执行代码作为程序的入口 -
var、let变量跟常量的确定,会自动推断类型 - 直接打印变量
print(a),print(b),插入字符串打印print("hello world - \(a)")
四.Playground 的使用
可以快速的预览代码效果,首页创建新的空工程
快捷键 command + Shift + enter 快速运行playground
快速预览 UIKit, 不过还需要导入
import PlaygroundSupport预览的代码PlaygroundPage.current.liveView = viewview为 要展示视图command + 0, command + 1隐藏跟展示侧边栏多个页面的展示, 点击 playground 新建,注意 source 文件夹的文件目录
注释:Swift 支持嵌套注释。注释支持
markup (类似 markDown)语法://: #一级标题MarkUp 语法只在playground里面有效
五.常量与变量
- 常量 只能赋值一次表明类型
let age:Int = 10
- 它的值不要求在编译时确定:就是可以给一个常量赋值一个变量
- 变量跟常量在初始化之前都不允许被使用
常见的数据类型
- 值类型:枚举(
optional)、结构体(bool, Int,Float,Double,String,Array,Dictionary....) - 引用类型:类
class - 整数类型:
Int8,Int16,Int32,Int64,UInt8,UInt16.... -
print(Int16.max)取这个符号的最大值print(Int64.min) -
Bool值turefalse - 字符类型 也是双引号,需要额外表明 :
character
类型转换 元组
类型转换
UInt16(b) + UInt16(a)元组:多种数据类型的组合
(404,"error message")let error = (404,"errormsg") print("errormsg = \(error.1)")元组的描述:
let msgAndStatus = (statsuCode: 404,errorMsg:"Not found") print(msgAndStatus.statsuCode)