-
擴展協議時,使用 extension 協議1 where Self: 協議2 對協議類型進行限定,當類型滿足協議2時才執行協議1的這個擴展; Self:代表這個類型 self:代表類型的一個實例查看全部
-
系統協議也可以使用擴展,并在擴展中寫默認實現(屬性和方法的具體實現)查看全部
-
協議可以使用擴展extension; 協議中沒法寫具體實現,但可在擴展中寫屬性和方法的實現(默認實現)查看全部
-
類型轉換 as查看全部
-
類型檢查 is查看全部
-
閉包強引用循環解決--》閉包捕獲列表查看全部
-
系統標準庫的協議,遵守CustomStringConvertible協議自定義打印該類型時print()的輸出查看全部
-
錯誤處理 try?··· do{ } catch ?{ }查看全部
-
ErrorType查看全部
-
Int的stride方法: (1)num.stride(to: x, by: y) 從num開始到x(不含x); (2)num.stride(through: x, by: y) 從num開始到x(包含x); (3)y是步長(y為正數表示遞增,為負數表示遞減)查看全部
-
1.結構體在擴展中想改變自身,需要加上mutating關鍵字; 2.擴展類屬性,只能擴展計算型屬性,不能擴展存儲型屬性; 3.擴展類構造函數,只能是便利構造函數(調用指定構造函數); 4.擴展中,書寫輔助內容,核心元素需定義在源類里;查看全部
-
結構體內函數要改變自身,要加mutating; 類里的函數改變自身不用加mutating。查看全部
-
seq.reduce(seq[0]){ max($0, $1) } // 結尾閉包,reduce(initial: U, combine: (U, T) -> U) -> U接收兩個參數,一個為類型U的初始值,另一個為把類型為U的元素和類型為T的元素組合成一個類型為U的值的函數。最終結果整個數組就變成了一個類型為U的值。查看全部
-
@objc protocol optional func .....查看全部
-
協議里的類型別名(關聯類型 associatedtype)查看全部
舉報
0/150
提交
取消