1, Swift 修改導航欄顏色 self.navigationController?.navigationBar.barTintColor 2, Swift button 屬性設置時直接進行初始化 var leftButton : UIButton = UIButton(type: UIButto
1, Swift 修改導航欄顏色
self.navigationController?.navigationBar.barTintColor
2, Swift button
屬性設置時直接進行初始化
var leftButton : UIButton = UIButton(type: UIButtonType.Custom)
由於是read-only屬性, 所以不可以後修改, 直接在初始化的時候設置.
Type不推薦用system, 會自動渲染成藍色.
3, Swift的Bool類型
還是一貫的不允許隱式轉換, 所以不可以在OC中0, 1或者直接判斷對象存在即為真, 而是要通過邏輯判斷, 比如 && || == 這種運算符得到Bool類型的返回值
button添加觸發方法只需要在action參數中, 直接寫出方法名的字元串即可, 好明顯的函數指針既視感.
4, 可選類型(Optional)
對於不確定是否存在的參數類型, 抑或是對象類型, 要加?, 代表不確定是否為空, 在確定不為空的情況下用!.
5, 顯示轉換
決不允許隱式轉換, 語法都過不去的, 所以對於一些特定情況, 比如for var i = 0; i < n ; ++i迴圈生成圖片, 在frame設置中, 一定要轉換成CGFloat(), 再就是要用++i, 而不是i++.
6, 結構體類型對象
所有的結構體類型對象都有自帶的實例方法, 而不見得非要使用CGRectMake()這種, 直接CGRect(就會索引出實例的構造方法了.
7, 結構體是值類型, 類對象是引用類型
值類型, 引用類型不多解釋, 瞭解面向對象語言的同學都知道, Swift中的主要的數據類型都是結構體, 比如Int, Array, Dictionary等等.
8, init方法繼承重寫
不要忘記關鍵字(override), 先進行父類方法初始化, 不需要返回對象了, 同時也別忘記init?(coder aDecoder: NSCoder)方法, 否則會報錯的
9, 成員變數
成員變數設置的時候, 實際就已經進行過初始化了, 所以並不需要在代碼中再次進行初始化, 直接設置屬性即可. 這個和OC中的屬性有點差別.
10, collectionView作為成員變數
必要要寫完整的實例化方法, frame和flowLayout的設置在代碼中重新設置, 否則會記憶體出錯, 提示沒有flowLayout.
目前簡單的遇到這麼多, 以後再遇到問題, 再來補充.