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


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


 

第一天的 源碼點這里

框架搭建和目錄拆分

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

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


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

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

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

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

  • extension
    類似OC中的分類

重寫push方法,隱藏底部tabBar

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

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

抽取barButtonItem 便利構造函數

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

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

自定義navBar

關鍵詞: didset

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


最后

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

可以看到今天做的swift的文件 和代碼行數

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM