1.Playground學習語法
1.語法要點
1.不用編寫main函數(shù),Swift將全局范圍內(nèi)的首句可執(zhí)行代碼作為程序入口
2.一句代碼尾部可以省略分號(;)仰担,多句代碼寫到同一行時必須用分號(;)隔開
3.用var定義變量糊识,let定義常量绩社,編譯器能自動推斷出變量\常量的類型
2.Playground可以快速預(yù)覽代碼效果摔蓝,是學習語法的好幫手
運行整個Playground: Command + Shift + Enter
運行截止到某一行代碼:Shift + Enter
3.框架引入
import UIKit // 系統(tǒng)框架
import PlaygroundSupport // Playground支持試圖顯示
// 設(shè)置UIView
let view = UIView()
view.frame = CGRect(x: 0, y: 0, width: 100, height: 100)
view.backgroundColor = UIColor.red
PlaygroundPage.current.liveView = view
// 顯示UIImageView
let imageView = UIImageView(image: UIImage(named: "logo"))
PlaygroundPage.current.liveView = imageView
// 設(shè)置tableViewVC
let vc = UITableViewController()
vc.view.backgroundColor = UIColor.lightGray
PlaygroundPage.current.liveView = vc
3.支持多Page設(shè)置
右鍵->New Playground Page
File ->New -> Playground Page
2.注釋
開啟markup渲染效果:Editor -> Show Rendered Markup n
注意:Markup只在Playground中有效
// 單行注釋
/*
多行注釋
/*
多行注釋
*/
markup語法
## 二級標題
### 三級標題
*/
//: # 一級標題
/*:
# 學習Swift
## 基礎(chǔ)語法
- 變量
- 常量
## 面向?qū)ο? 1. 類
2. 屬性
3. 方法
## 匯編分析
[蘋果官方](https://www.apple.com)
*/
//: [下一頁](@next)
//: [上一頁](@previous)
3.常量
1.只能賦值1次
2.它的值不要求在編譯時期確定赂苗,但使用之前必須賦值1次
func getAge() -> Int {
return 10
}
let age = getAge()
print(age)
4.標識符
- 標識符(比如常量名、變量名贮尉、函數(shù)名)幾乎可以使用任何字符
- 標識符不能以數(shù)字開頭拌滋,不能包含空白字符、制表符猜谚、箭頭等特殊字符
5.Swift下常見數(shù)據(jù)類型
值類型(value type):
1.枚舉(enum) Optional
2.結(jié)構(gòu)體(struct):Bool瘪校、Int腕巡、Float、Double、Character卡啰、String、Array齿桃、Dictionary洲押、Set
引用類型(reference type): 類(class)
整數(shù)類型:Int8、Int16沧竟、Int32铸敏、Int64、UInt8悟泵、UInt16杈笔、UInt32、UInt64
在32bit平臺糕非,Int等價于Int32;在64bit平臺蒙具, Int等價于Int64
整數(shù)的最值:UInt8.max、Int16.min
一般情況下朽肥,都是直接使用Int即可
浮點類型:Float禁筏,32位,精度只有6位;Double鞠呈,64位融师,精度至少15位
6.字面量
let intdecimal = 17 // 十進制
let intBinary = 0b10001 // 二進制
let intOctal = 0o21 // 八進制
let intHexdecimal = 0x11 // 十六進制
let doubleDecimal1 = 234 // 十進制
let doubleDecimal2 = 2.34e2 // 十進制 2.34*10^2
let doubleHexdecima1 = 0xFp2 // 十六進制 15*15^2
let doubleHexdecima2 = 0xFp-2 // 十六進制 15*15^-2
let Array = ["1","2","3"] //數(shù)組
let dict = ["age":18,"height":180] // 字典
7.類型轉(zhuǎn)換
let int1: Int16 = 17
let int2: Int8 = 2
let int3 = int1+Int16(int2) // 不同數(shù)據(jù)類型,需要轉(zhuǎn)換
let res = 1+3.14 // 字面量可以直接相加蚁吝,字面量本身沒類型
8.元組
// 方式一
let error = (404, "Not Found")
error.0
error.1
// 方式二
let http200Status = (statusCode:200, description:"OK")
http200Status.statusCode
http200Status.description