Swift中可選項、閉包、便利構造函數的相關問題

1.可選項:閉包

  聲明可選項  var a Int -> 1.有值(某一類型)someValue  2.nil函數

注意:可選項不可以直接參與計算     a 10  必須進行強制解包spa

2.解決可選項orm

< 1 > if let:快速賦值  而且判斷值的對象是否爲空對象

< 2 > guard let … else   nil  進入else分支  if  let用法相反   可以減小一層分支嵌套繼承

< 3 > ?? (適用於 基本數據類型和字符串類型的可選項)快速合併空選項 —> 快速判斷可選項是否爲nil   若是爲nil  給定爲nil 狀況下的默認值生命週期

3.閉包字符串

閉包最基本類型:  ()-> ()變量

閉包使用場景   GCD結合使用循環

3.1閉包的基本特性:

1>閉包是提早準備好的一段代碼塊

2>能夠當參數傳遞

3>在須要回調的地方 執行閉包   完成結果的回調

4>在閉包中使用self  有可能產生循環引用

注意:(1)閉包中使用self

2)閉包看成函數的參數進行傳遞   該參數  被一個比臨時變量生命週期更長的變量保存記錄  使用生命週期更長的變量完成後續的回調操做   這時纔會產生循環引用   

4.便利構造函數

self的形式調用指定的構造函數

< 1 >能夠失敗   能夠return nil

< 2 >仍是一個構造函數   必須使用self的形式來調用指定的構造函數  必須依賴於其餘的構造函數來構造對象

< 3 >不可以被重寫  也不可以被super

< 4 >可以被繼承

相關文章
相關標籤/搜索