iOS講解迷惑 Swift的分支結構和迴圈

2021-07-06 02:28:07 字數 2329 閱讀 3985

if else

//*******************  分支語句  **********************

// if語句的條件必須是bool值 或者bool表示式

// bool值只能用true或者false

let isorno = true

if isorno else

var count:int? = nil // "?" 代表可選

count = 20

if count > 0 else

// 拼接

let str_pinjie = "數字count是\(count)"//"數字count是optional(20)"

let str_pinjie2 = "數字count是\(count!)" // "數字count是20", 加了!號 解包

// 也可把 宣告變數的表示式 作為條件

if let count1 = count else

// ps: 分支語句原則上必須保持完整 (有了if 就得有 else)

迴圈

// ************

// 迴圈 while

var number = 0

while number < 3

number

// do while

repeat while number < 10

// for迴圈

for (var num = 0; num < 10; num++)

// for迴圈條件可以省略, 但是分號不能省略

// 這是個死迴圈

//for ; ;

// for迴圈的省略機制

//for ; number < 2;

array

// for ... in 迴圈, 變數可以不宣告, 只作用於迴圈作用域中

for num2 in array

var dic = [33 : "value"]

for value in dic

// 使用元組列舉字典的時候, 相當於為元組的元素命名, 可作為區域性變數使用

for (key, value) in dic

// 佔位符 _

// 使用佔位符忽略掉不想使用的變數

for (_, value) in dic

for (key, _) in dic

// 區域運算子在迴圈中的使用

for value in 1..<5

for value in 1...5

for value in array[2..<3]

switch case

// 分支....... switch

var point = (2,0)

switch point

// 值繫結

switch point

/*fallthrough下面的那個case不能宣告新變數、常量,也就是不能跳轉到case後面接var或者let的語句的。

原因是因為fallthrough不會檢查where匹配條件,這樣便會導致var或者let宣告的變數常量無法得到值,所以swift禁止fallthrough到這樣的case中。

*/switch point

// 區間匹配

// switch 與區間運算子的結合使用

var number2 = 20

switch number2

for value in 1...100

}var tempstring = "fdsgafeiourelfhjds"

switch

和迴圈巢狀使用的時候

, 如要終止迴圈需要給迴圈去個名字

, 用這個

(break

迴圈別名)

// 遍歷字串

str.characters

// tempname:

給迴圈起名字

// 當

for...in

迴圈與switch

結合使用的時候

執行break語句,

首先被識別為

switch

分支自帶的

break. ,

如果要想終止迴圈

, 此時需要為迴圈新增別名

, 使用別名進行打斷迴圈的操作

// tempname 是這個迴圈的別名

tempname: for tempstr in tempstring.characters

}

iOS講解迷惑之鍵盤彈出遮擋輸入框的問題

1 將輸入框的 設定為self 在lb檔案中將輸入框的delegate設定為file s owner 或者使用 textfield.delegate self 2 將輸入框所對應的viewcontroller.h設定實現了uitextfielddelegate協議 在viewcontroller.m...

深入講解Swift的記憶體管理

前言 llvm編譯器的好 swift的記憶體管理除了要注意引用迴圈之外,幾乎全部被llvm編譯器包攬,不需要開發人員操心。swift 是自動管理記憶體的,這也就是說,我們不再需要操心記憶體的申請和分配。當我們通過初始化建立乙個物件時,swift 會替我們管理和分配記憶體。而釋放的原則遵循了自動引用計...

iOS筆記 Swift中的Optional型別

在objective c中並沒有optional型別,只有nil,並且nil只能用於表示物件型別無值,並不能用於基礎型別 int,float 列舉和結構體,基礎型別需要返回類似nsnotfound的特殊值來表示無值,所以在swift中定義了optinal型別來表示各種型別的無值狀態,並規定了nil不...