便利構(gòu)造函數(shù):1>convenience開頭,沒有返回值 2>在構(gòu)造函數(shù)中必須明確調(diào)用一個設(shè)計的構(gòu)造函數(shù)(self)
參數(shù)后面的= 是設(shè)置默認值,調(diào)用的時候可以只調(diào)用自己需要的參數(shù)
重寫或自定義構(gòu)造函數(shù)必須同步重寫
required init?(coder aDecoder: NSCoder 函數(shù)
delegate 用weak修飾
閉包里面使用self避免循環(huán)引用用[weak self] in 或者 [ unowned self ] in
如果需要collectionView
根據(jù)父控件的大小而變化,
collectionView.autoresizingMask = [.flexibleWidth , .flexibleHeight]
協(xié)議的遵守
swift中協(xié)議是可以被類,結(jié)構(gòu)體,和枚舉所遵守的,所以在定義的時候可以定義為只被類準守: :class
這時修飾delegate的屬性是weak 為了避免循環(huán)引用,
協(xié)議的方法默認是必須實現(xiàn)的,如果是可選實現(xiàn)的要加 optional參數(shù),并且在協(xié)議前面要加@objc,在optional前也要加@objc
逃逸閉包
@escaping 在swift開發(fā)中,閉包如果不是在當前方法中直接使用,而是在其他的閉包或者方法中使用,就必須加@escaping關(guān)鍵字,表示逃逸閉包
閉包內(nèi)部解決循環(huán)引用的問題:[weak self] [unowned self]
尾隨閉包
如果方法的最后一個參數(shù)是閉包,可以該寫為尾隨閉包,就是將大括號中的閉包內(nèi)容從小括號中抽離,放到方法后面
如果閉包是唯一的參數(shù),可以將()省略