iOS開發--Swift 最近項目開發中遇到的一些小問題與解決方案

來源:互聯網
上載者:User

標籤:

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.

目前簡單的遇到這麼多, 以後再遇到問題, 再來補充.

iOS開發--Swift 最近項目開發中遇到的一些小問題與解決方案

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.