【一】Swift 3.0 新浪微博項目實戰 -總體框架搭建

最近要接手swift項目,因此找了個視頻跟着作一下實戰項目,在此記錄一下過程和心得git


 

第一天的 源碼點這裏github

框架搭建和目錄拆分

關鍵詞:MVVM 架構,橋接文件swift

  • 橋接文件
    用於引入OC的頭文件,Swift就能夠正常使用(宏除外)。項目內橋接文件( weibo-Bridge.h)架構


設置Tabbar樣式 ,經過字典添加子控制器

關鍵詞:guard let ,lazy 懶加載, extension,溢出TabbarItem的處理,@objc private 框架

  • guard let
    在讀取字典屬性的時候,避免空值
    相對於if let的使用,避免過多的嵌套,寫法更加簡潔方便
  • 比較多的像新浪微博這種,底部Tabbar都會有一個比較獨特的按鈕。有些APP底部按鈕有溢出底部欄的狀況。 這個時候設置多一個tabbarItem,用一個按鈕覆蓋多出來的item, 達到效果。 在有超過底部欄的狀況能夠設置tabbar.bounds.insets 來解決
    注意一個像素點的按鈕容錯ide

  • @objc
    看到objc應該能發現這是和oc有關
    通常在添加按鈕的點擊方法的時候都是設置 private 保證方法私有,可是直接用private編譯不經過
    經過@objc,容許這個函數在運行時經過OC的消息機制被調用, 全部及時被私有了,在運行時依然能調用到函數

  • extension
    相似OC中的分類

重寫push方法,隱藏底部tabBar

關鍵詞: override  , super ,棧底控制器字體

  • 重寫 BaseVC的push方法。 判斷值爲子控制器個數

抽取barButtonItem 便利構造函數

關鍵詞: convenience 便利構造函數 , as? spa

  • as?vc.type 用來判斷是否某種類型

自定義navBar

關鍵詞: didsetcode

  • didset 重寫屬性的set方法
  • 系統導航條在pop的時候有融合的狀況,須要移除,自定義navBar.添加字體高亮,自定義返回樣式


最後

find . -name "*.swift" | xargs wc -l

能夠看到今天作的swift的文件 和代碼行數

相關文章
相關標籤/搜索