##Swift語言基礎(chǔ)精簡版

Swift語言基礎(chǔ)學習;

在swif中t調(diào)用方法用? .??來調(diào)用方法;

###? 如何去定義標志符

1. Swift定義標識符,必須制定該標識符是一個變量(let) 還是常量 (var)

2.規(guī)范:

let / var? 標識符 :類型 =? 賦值

3.如果一行代碼中只有一條語句,那么語句結(jié)束時, ;冒號 可以省略

4.Swift中不需要下OC中的 @;

###? 常量變量使用的注意

1.開發(fā)中優(yōu)先使用常量 let 防止不小心修改掉之前賦的值

2.常量的本質(zhì);指向的內(nèi)存地址不可以修改,但是可以通過內(nèi)存地址找到對應的對象,通過對象修改內(nèi)部的屬性;

比如創(chuàng)建一個UIView ,view里面有backGroud ? ? alpha? ? frame? 之類 ,可以去修改;

3. Swift一般創(chuàng)建對象:

let? view : UIView =? UIView ( ) 一般后面都跟上括號( )

### 類型推導

1.在swift中如果在定義一個標識符時有直接給該標識符進行賦值, 那么系統(tǒng)會自動根據(jù)后面賦值的類型, 推導出前面標識符的類型

2.如果有直接賦值, 那么標識符后面的類型可以省略

3.可以通過Option + 鼠標左鍵, 查看標識符的類型

### 基本運算

1.進行基本加減運算,兩個常量的運算;

要想進行運算;必須是同一個類型的才能進行基本運算;

### 邏輯分支

Swift和OC的差異

if后面的 ( ) 可以省略掉

swift中沒有非0(nil)即真

Bool --> true/false

### 三目運算符

let? result = a > b ? a : b? //三目運算符,OC基本沒有多少區(qū)別,只是書寫格式不一樣;

### guard 的基本使用

1.? guard 要么用到if判斷中; 要么用到函數(shù)當中;

2. 對于guard 判斷,他的易讀性比 if else 會好很多

當有很多的 if else 連串,鑲嵌;,那么易讀性就比較差;

### switch 語句的判斷使用

1. swift 中 switch 和 OC中的差異

switch 分支后面的括號可以省略;

case結(jié)束之后可以不加break,也不會產(chǎn)生穿透;

補充點:

如果希望產(chǎn)生case穿透,需要在語句結(jié)束加上 fallthrough

在swift中的switch的case后面可以跟上,并且,多個條件以? , 分隔開;

OC中的switch只能判斷整形

switch的特殊用法:

可以來判斷浮點型; 字符串類型 + - * / 之類的? 還可以判斷區(qū)間;

區(qū)間類型有:

1.半開半閉區(qū)間;0..<10 ? 0~9

2.閉區(qū)間? 0…10 ? ? 0~10;




### for循環(huán)遍歷

普通的遍歷:

for var i = 0; i < 10 ? i++

swift 的遍歷:

區(qū)間遍歷: 開區(qū)間

for i in 0..<10 {

}

閉區(qū)間:

for i in 0…10 {

}

如果一個標志符不需要使用;那么可以通過? ? ? _ 來代替

for _in 0..< 10

### while 循環(huán)

1. while 后面的()可以省略

2. 沒有非0 (nil)即真

### 字符串的基本使用

1.1.定義不可變字符串 : 使用let修飾

2.定義可變字符串 var

2。遍歷字符串中所有的字符



3.獲取字符串的長度:

//獲取字符串的長度

let length = str.characters.count

4.字符串與字符串之間的拼接

一般都是直接將兩個字符串相加;

4.1字符串與其他標識符之間的拼接

一般用斜杠去分割開

4.2 拼接過程中的格式化:



### 截取的方式有兩種

1.方式一: 將String類型轉(zhuǎn)成NSString類型, 再進行截取

2.方式二: Swift原生方式進行截取\

###數(shù)組的基本使用:

不可變數(shù)組:

let array = ["why", "yz", "lmj", "lnj"]

可變數(shù)組:

var arrayM = Array()

var arrayM = [String]()

可變數(shù)組 ,由于數(shù)組是泛型集合,必須指定該數(shù)組中之后存放的元素;

## 數(shù)組的合并:

只有相同類型的數(shù)組元素可以進行合并

### 字典的基本使用

區(qū)別字典還是數(shù)組:

在字典的時候, 系統(tǒng)會根據(jù)[]中存放時鍵值對還是一個個元素來判斷該[]是一個數(shù)組還是字典

字典的增刪該查

// 系統(tǒng)類型的字典也不可以相加合并



字典:// 系統(tǒng)類型的字典也不可以相加合并



###元組的基本創(chuàng)建方

###可選類型的基本使用

只有可選類型才能賦值為nil

// Optional泛型集合 --> 必須明確執(zhí)行該可選類型中存放值得類型

加 ! 號可以強制解包

取值的注意:

// 如果可選類型中是沒有值的, 那么強制解包程序會崩潰

// 建議: 在對可選類型進行解包前, 最好先判斷是否為nil

if name != nil {

print(name!)

print(name!)

print(name!)

print(name!)

print(name!)

}

.解包 : 可選綁定

系統(tǒng)判斷name有沒有值, 如果沒有值, 直接跳過 {}

如果有值, 那么系統(tǒng)會對name就行強制解包, 并且將解包后的結(jié)果賦值給前面的tempName

if let tempName = name {

print(tempName)

print(tempName)

print(tempName)

}

if let name = name {

print(name)

print(name)

print(name)

print(name)

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容