iOS激情詳解之Swift 二

2021-07-06 02:47:17 字數 3926 閱讀 6602

// 陣列 ************* 陣列

// 陣列中只能儲存相同型別的資料

var arr1 = [1,2,3] // 自動推斷[int] 型別的陣列

var arr2 = ["1","2","3"] // [string]

var arr3 = [1,"2","3"]

// 陣列指定型別

// 1,語法 : [int]

var arr4: [int] = [1,2,3]

// 2,語法: arrayvar arr5: array= ["1","2"]

var arr6: array = [1, "2"] // 能這樣寫,但一般不用

// 增加元素

// 插入元素

arr1.insert(9, atindex: 1)

// 獲得最後乙個元素

arr1.last

// 獲得第乙個元素

arr1.first

print(arr1) // 列印方法

// 刪除

let dfxr = arr1.removeatindex(1)

dfxr

arr1

// 更改

arr1[0] = 8

arr1

// 查詢

let dfxr1 = arr1[1]

dfxr1

// 陣列中過載運算子的使用 + // 把元素放到另乙個陣列裡

arr1 += arr4

arr1

arr4

// 區域運算子

// ... 1...2 從1到2的閉區間

// .. < 1..<2 從1到2的開區間

arr1[0...2] // 取從0到2三個元素

arr1[0..<2]

// 區間替換,陣列中元素個數沒有限制

arr1[0...2] = [111,1111,1111]

//區間替換

arr1

// ****************字典

// 鍵值對陣列,字典的使用規則,鍵與鍵型別相同,值與值型別相同,鍵值型別可以不同

var dict1 = [1:"11", 2:"22", 3:"33"] // 字典:俗稱 鍵值對的集合(字典無序)

// 宣告字典型別

// 1, [key:value]

var dict2 : [int: string] = [1:"111"]

// 2, dictionaryvar dict3: dictionary= ["11212":1]

// 查詢

// 根據key查詢

let e = dict1[1]

dict1[1] = "a"

dict1[4] = "4"

dict1

// 根據key取值 進行賦值操作時,如果key存在則執行更改操作,如果key不存在執行插入操作

// 刪除

var indexdic1 = dict1.indexforkey(1)

dict1.removeatindex(indexdic1!)

// *****************************可選型別optional

// 可選型別的使用.可以宣告nil的變數

// 語法規則 變數:變數型別? // ?修飾前面型別

var error:string? = nil

var score_hehe: int? = nil

error = "error"

error! += "404" // !號 指使用了這個變數

error

// 可選型別的變數在賦值時不需要加!,使用變數時需要加!

//! :解包 使用變數就用!號解包(有就是some,沒有就是nil)

// 使用可選型別變數的時候,只有當程式開發人員確定當前可選型別有值時才會執行解包動作

// **************************** 元組

// 語法 () 源於關係型陣列的概念,儲存不同型別的陣列

// 元組可以作為函式的返回值,處理多返回值的情況

var

// **************************** 元組

// 語法 () 源於關係型陣列的概念,儲存不同型別的陣列

// 元組可以作為函式的返回值,處理多返回值的情況

var sta = (404,"not found!")

// 元組自帶取值方式

sta.0

sta.1

// 可以對元組中資料進行命名獲取

var sta1:(num:int, info:string) = sta

sta1.num

sta1.info

// 分支語句

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

// bool 值只能用 true 或者是 fause

let isorno = true

if isorno else

var count: int? = nil

count = 20

if count > 0 else

// 宣告變數的表示式也可作為變數使用

let strpinjie = "數字count是\(count)"

if let cou1 = count else

// 注釋:分支語句原則上必須保持完整

// 迴圈 :

// while *********

var number = 0

while number < 3

// do ... while ******

repeat

while number < 5

// for *************

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

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

// 死迴圈

// for ; ;

//for ; number < 2 ;

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

for num in arr1

var dic = [33 : "value"]

for value in dic

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

for (key, value) in dic

// 佔位符 _ (下劃線)

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

for (_ , value) in dic

for (key , _) in dic

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

for value in 0..<1

for value in arr1 [2..<3]

// 分支 switch

var point = (2,0)

switch point

// 只要case包含所有情況,可以不使用default分支

// switch語句必須包含所有分支

// 值繫結

switch point

for value in 1...100

}var tempstring = "dghdfghdvsdgfdafgsafdafda"

// 遍歷字串 str.characters

// 當 for... in 迴圈與switch結合使用的時候,執行berak語句首先被識別為switch分支自帶的break,此時需要為迴圈新增別名,使用別名進行打斷迴圈的操作

tempname: for tempstr in tempstring.characters

}}

iOS激情詳解之Swift 一

import uikit var str hello,playground 變數宣告規則 var 可變 let 不可變 var let 變數名 值 var str0 aaac str0 bdn str0 2 型別推斷 根據給出的值,對變數進行型別的推斷和確定 基本資料型別 var c 10 var ...

iOS激情詳解之Swift 三

函式 語法格式 func name 引數 返回值 無參,無返回值 func hehe1 func hehe2 void 函式呼叫 hehe1 有參 關於內部引數名 2,只在函式作用域內部使用的引數名 func hehe3 name1 string name2 string 除了第乙個引數,後面的引數...

iOS激情詳解之json解析

宣告老師的一些屬性 import inte ce teachermodel nsobject property nonatomic,retain nsstring name property nonatomic,retain nsstring property nonatomic,retain ns...