Swift3.0學習總結(三)

懶加載:

方式為:

lazy var 變量名:變量類型 = {
? ? ? //code

?return

}()

lazy為懶加載所用關鍵字, 對象只會被初始化一次

例如:

lazy var btn:UIButton = ?{

var tempBtn =UIButton(type:UIButtonType.ContactAdd)

tempBtn.frame=CGRectMake(90,100,50,50)

tempBtn.backgroundColor=UIColor.cyanColor()

return tempBtn

}()

注: 懶加載時要判斷該對象是變量還是常量要根據外層的判斷, 如上面的button外層以var修飾,所以該button就是可變的

單例:

static let instance =SingleInstance()

static func shareSingleInstance() ->SingleInstance{

return instance

}

注:static修飾的方法都為類方法

字典轉模型:

init(dict:[String:AnyObject]) {

super.init()

setValuesForKeysWithDictionary(dict)

}

注:

1.字典轉模型中, 模型中如果有基本數據類型, 那么這個基本數據類型不可以為可選類型, 否則在KVC賦值中會找不到對應的key值, 如果為可選類型, 應該給初值

2.如果自定義了初始化方法并且沒有實現系統默認的初始化方法, 那么外界訪問不到該類的默認初始化方法,如果想要訪問必須手動實現

do...try...catch:

錯誤處理模式: 在編程時, 很多人會給error傳遞一個nil, 或者不對error進行判空, 沒有了錯誤處理, 就可能會造成程序崩潰

do {

try 語句

成功處理語句組

} catch 匹配錯誤 {

錯誤處理語句組

}

其中do語句中是我們要執行的操作, try為嘗試執行的語句,如果執行成功會執行接下來的語句, 不成功則會執行catch語句, 執行錯誤處理.?

注:

try有三種分別為:?

try:出現錯誤則會產生警告

try!:出現錯誤會產生崩潰

try?:出現錯誤會返回一個可選類型

元祖:

元祖是多個值組合而成的復合值,元祖中的值可以是任意類型, 而且每一個元素的類型可以是不同的.

如:

let temp = ("a", 1) ? //這里代表著a的意思是1

元祖也是可以分解的.

如:

let (code, message) = temp

print("\(code)")

print("\(message)")

元祖在分解時, 可以只分解部分值, 忽略其它值, 忽略的值用下劃線 "_"代替

let (code, _) = temp

print("\(code)")

訪問元祖還可以使用下標的方式獲取, 從0開始

let temp = ("a", 1)

//獲取第一個值

print("\(temp.0)")

//獲取第二個值

print("\(temp.1)")

訪問元祖元素還有一種方式: 給定元祖元素命名, 通過名稱獲取值(元祖.名稱)

let temp = (code:"a", name: 1)

print("\(temp.code)")

print("\(temp.name)")

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容