iOS 知识点

240 阅读1分钟

统计项目代码行数:

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)