Swift开发之——学习大纲
前言
历史
- 苹果于2014年WWDC(苹果开发者大会)发布
- 苹果于WWDC 2015上宣布,Swift将开放源代码,包括编译器等
特点
- Swift 是一种支持多编程范式和编译式的开源编程语言
- 用于开发 iOS,OS X 和 watchOS 应用程序
- Swift 结合了 C 和 Objective-C 的优点并且不受 C 兼容性的限制
入门
开发环境
- Mac OS环境
- Xcode
第一个Swift程序
创建
- File => New => Playground
- 输入名字
- 选择保存位置
编译运行
项目介绍
- var 关键字
- print : 输出变量的值
语法
注释
- 单行注释
- 多行注释
分号
- Swift不要求在每行语句的结尾使用分号(;)
- 当你在同一行书写多条语句时,必须用分号隔开
标识符
定义
标识符就是给变量、常量、方法、函数、枚举、结构体、类、协议等指定的名字
命名规则
- 区分大小写,Myname与myname是两个不同的标识符
- 标识符首字符可以以下划线(_)或者字母开始,但不能是数字
- 标识符中其他字符可以是下划线(_)、字母或数字
关键字
定义
关键字是类似于标识符的保留字符序列
分类
- 与声明有关
- 表达式和类型有关
- 特定上下文
- 与语句有关
数据类型
内置数据类型
Int
- Int32
- Int64
UInt(无符号)
- UInt32
- UInt64
浮点数
- Float
- Double
布尔值(Bool)
字符串(String)
字符(Character)
可选类型(Optional)
概念
- 使用可选类型来处理值可能缺失的情况
- 可选类型表示有值或没有值
使用
- 强制解析
- 自动解析
- 可选绑定
类型别名
概念
- 类型别名对当前的类型定义了另一个名字
- 类型别名通过使用 typealias 关键字来定义
格式
typealias newname = type
类型安全
它会在编译你的代码时进行类型检查,并把不匹配的类型标记为错误
类型推断
如果你没有显式指定类型,Swift 会使用类型推断来选择合适的类型
常量与变量
变量
概念
- 变量声明意思是告诉编译器在内存中的哪个位置上为变量创建多大的存储空间
- 你需要使用 var 关键字声明它
变量命名
- 变量名可以由字母,数字和下划线组成
- 变量名需要以字母或下划线开始
- 字母大写与小写是不一样的
- 变量名也可以使用简单的 Unicode 字符
变量输出
- 变量和常量可以使用 print 函数来输出
- swift 2 将 print 替换了 println
- 在字符串中可以使用括号与反斜线来插入变量
常量
概念
- 常量一旦设定,在程序运行时就无法改变其值
- 常量可以是任何的数据类型
常量声明
常量使用关键字 let 来声明
类型标注
- 当你声明常量或者变量的时候可以加上类型标注
- 说明常量或者变量中要存储的值的类型
- 需要在常量或者变量名后面加上一个冒号和空格,然后加上类型名称
常量命名
- 常量名可以由字母,数字和下划线组成
- 常量名需要以字母或下划线开始
- 字母大写与小写是不一样的
- 常量名也可以使用简单的 Unicode 字符
运算符
- 算术运算符
- 比较运算符
- 逻辑运算符
- 位运算符
- 赋值运算符
- 区间运算符
- 其他运算符
语句
条件语句
- if 语句
- if...else 语句
- if...else if...else 语句
- 内嵌 if 语句
- switch 语句
循环语句
- for-in
- for 循环
- while 循环
- repeat...while 循环
词法
常用数据结构
- 字符串(String)
- 字符(Character)
- 数组
- 字典
- 枚举
- 结构体
函数
闭包
类
下标脚本
构造与析构
可选链
类型转换
高级应用
扩展
概念
- 扩展就是向一个已有的类、结构体或枚举类型添加新功能
- 扩展可以对一个类型添加新的功能,但是不能重写已有的功能
应用
- 添加计算型属性和计算型静态属性
- 定义实例方法和类型方法
- 提供新的构造器
- 定义下标
- 定义和使用新的嵌套类型
- 使一个已有类型符合某个协议
语法
扩展声明使用关键字 extension
协议
概念
- 协议规定了用来实现某一特定功能所必需的方法和属性
- 任意能够满足协议要求的类型被称为遵循(conform)这个协议
- 类,结构体或枚举类型都可以遵循协议,并提供具体实现来完成协议定义的方法和功能
语法
- 要使类遵循某个协议,需要在类型名称后加上协议名称,中间以冒号:分隔
- 遵循多个协议时,各协议之间用逗号,分隔
思维导图