常见Crash类型
-
容器越界(数组、字典、字符串等)
-
使用未初始化的变量
-
用户授权问题
-
选择器方法未定义
-
子线程刷新UI
-
KVO
-
数组类型不匹配
-
内存溢出
-
野指针
-
死循环
-
使用了类不存在的方法,如array objectForKey:
isa -> 类的结构体
结构体的方法表 -> 查找selector
objc_msgSend指向父类的指针,找到父类
IMP
消息转发流程
UILabel -> UIView -> UIResponder -> NSObject
UITextField -> UIControl -> UIView -> UIResponder -> NSObject
UIButton -> UIControl -> UIView -> UIResponder -> NSObject
UITextView -> UIScrollView -> UIView -> UIResponder -> NSObject
网友评论