iOS 知識點

微許時光發表於2018-01-02

統計專案程式碼行數:

mac系統下,統計專案程式碼行數 ==> 在終端下,導航到專案根目錄,執行以下命令:

find . "(" -name "*.m" -or -name "*.mm" -or -name "*.cpp" -or -name "*.h" -or -name "*.rss" -or -name ".swift" ")" -print | xargs wc -l
複製程式碼

如果遇到以下報錯:

xargs: unterminated quote
複製程式碼

用以下命令代替:

find . "(" -name "*.m" -or -name "*.mm" -or -name "*.cpp" -or -name "*.h" -or -name "*.rss" -or -name ".swift" ")" -print0 | xargs -0 wc -l
複製程式碼

如果想統計其他語言程式碼,可自行替換檔案字尾名,如統計 java 程式碼:

find . "(" -name "*.java" ")" -print0 | xargs -0 wc -l
複製程式碼

分析 Crash 日誌:

遭遇Crash檔案戰:教你如何搞定iOS崩潰日誌 iOS除錯之 crash log分析 #iOS 快取知識: 從 YYCache 原始碼 Get 到如何設計一個優秀的快取 #bitcode 理解: 深入理解iOS開發中的BitCode功能

Push / Present 一個控制器,各種方法的執行順序

由導航控制器 Push 一個控制器,然後再 Pop 回去,方法執行順序如下:

BViewController init
===> BViewController viewWillAppear
===> AViewController viewWillDisAppear 
===> AViewController viewDidDisAppear
===> BViewController viewDidAppear 
===> AViewController viewWillAppear 
===> BViewController viewWillDisAppear 
===> BViewController viewDidDisAppear
===> AViewController viewDidAppear 
===> BViewController dealloc
複製程式碼

由A檢視控制器控制器 Present 一個控制器,然後再 Dismiss 回去,方法執行順序如下:

BViewController init
===> BViewController viewWillAppear
===> AViewController viewWillDisAppear
#此處與 Push 的方式不同 
===> BViewController viewDidAppear 
===> AViewController viewDidDisAppear
===> AViewController viewWillAppear 
===> BViewController viewWillDisAppear
#此處與 Push 的方式不同  
===> AViewController viewDidAppear 
===> BViewController viewDidDisAppear
===> BViewController dealloc
複製程式碼

連結串列知識

資料結構:連結串列 資料結構之:連結串列詳解

Objective-C 實現二叉樹

二叉樹-你必須要懂! (二叉樹相關演算法實現-iOS)