- 开发者的第一份 Swift 语言中文学习指南 Swift 学习指引
- Swift 2.2 开发者文档 Swift2.2 英文学习文档
- 关于Swift 中文学习文档(+38页对比参考) Swift2.2 中文学习文档
- 关于 Swift 2.2 学习
- Swift 2.2 学习_01:常量与变量、dynamicType(类型)、元组类型、可选类型(?!)、类型别名(typealias)、字符串、循环控制流(for_in)、条件选择(if\switch)
- Swift 2.2 学习_02:函数类型示例、闭包运用、数组、集合、字典、类
- Swift 2.2 学习_03:枚举类型、类与结构体、属性、实例化方法与类型方法、继承、析构器和构造器、扩展方法、协议
Switf2.2 学习
Swift 是一种新的编程语言,用于编写 iOS,OS X 和 watchOS应用程序。Swift 结合了 C 和 Objective-C 的优点并且不受 C 兼容性的限制。Swift 采用安全的编程模式并添加了很多新特性,这将使编程更简单,更灵活,也更有趣。
Switf2.2 学习_01
// MARK : 常量(let)/变量(var)
let 公司名称 = "AAA";
print(公司名称)
// 公司名称 = "腾讯" error://常量值不可修改
var age = 20
age = 21
// MARK:- 类型判断
公司名称.dynamicType // String.Type
age.dynamicType // Int.Type
// MARK:- 类型标注
var width: Float
width = 100.0
- 数据基本类型
// MARK:- 数据基本类型
Int 整形
String 字符串
Float 单精度浮点型
Double 双精度浮点型
BOOL 布尔类型
//初始化一个布尔类型数据
var isLogin: Bool
isLogin = false
isLogin.dynamicType //Bool.Type
//同理:
var islogin = false
islogin.dynamicType
- 元组类型
// 1. 声明一个元组类型(名称、区域、等级、段位)
// 字面量初始化
var 学生信息 = (姓名:"AAA",年龄:20,毕业院校:"中国")
//打印:(.0 "AAA", .1 20, .2 "中国")
学生信息.dynamicType //(String, Int, String).Type
// 2. 元组类型赋值
//var 英雄联盟信息:(String,String,Int,String)
英雄联盟信息 = ("群魔觉臭","艾欧尼亚",30,"最强王者")
//(.0 "群魔觉臭", .1 "艾欧尼亚", .2 30, .3 "最强王者")
// 3. 访问/修改元组元素
英雄联盟信息.0 //"群魔觉臭"
英雄联盟信息.1 //"艾欧尼亚"
英雄联盟信息.2 //30
英雄联盟信息.3 = "大师你懂得" //"大师你懂得"
英雄联盟信息 //打印(.0 "群魔觉臭", .1 "艾欧尼亚", .2 30, .3 "大师你懂得")
学生信息.姓名
学生信息.年龄
学生信息.毕业院校
// 4. 拆分元组类型
let (角色名称,大区,等级,段位) = 英雄联盟信息
角色名称 //"群魔觉臭"
大区 //"艾欧尼亚"
等级 //30
段位 //"大师你懂得"
- 可选类型(?)
//可选类型的值允许为nil
var name_1: String = "Admin"............................//"Admin"
//name_1 = nil //一般数据类型不能为nil
// error: nil cannot be assigned to type 'String'
// 1. 显示可选类型 表示方法 '?': var name: Int?
var name_2: String? = "Admin"............................//"Admin"
//name_2 = nil
print(name_2)............................//"Optional("Admin")\n"
//显示可选类型解析,在选类型的变量后加上'!'
if name_2 != nil{
print(name_2!) ............................//"Admin\n"
}
//可选绑定
//如果可选类型有值,那么久将其值解析出来赋给另一个常量或变量
if let name = name_2 {
print(name)............................//"Admin\n"
}
// 2. 隐式可选类型 表示方法 '!': var name: Int!
var name_3: String! = "Admin" ............................//"Admin\n"
//name_3 = nil
if name_3 != nil{
print(name_3) ............................//"Admin"
}
* 总结: 显示可选类型('?')与隐式可选类型('!')的共同点在于都可将变量置为nil,不同点在于显示可选类型需要使用'!'解析数据,而隐式可选类型无需使用'!'解析数据
- 类型别名 (typealias)
typealias HTInt = Int
var a: HTInt = 10
a.dynamicType ..............//Int.Type
- _ 字符类型 _
// 1. 创建一个空的字符串
let str_1: String
var str_2 = ""
var str_3 = String()
======================================================
// 2. 可变/不可变字符串
str_1 = "123"
//str_1 ="789" // let 声明的常量只能被初始化一次
str_2 =