1、找不到方法的实现unrecognized selector sent to instance 2、KVC造成的crash 3、EXC_BAD_ACCESS 4、KVO引起的崩溃 5、集合类相关崩溃 6、多线程中的崩溃 7、Socket长连接,进入后台没有关闭 8、Watch Dog超时造成的crash 9、后台返回NSNull导致的崩溃,多见于Java做后台服务器开发语言
总结起来三句话: //No1:可变对象的copy和mutableCopy方法都是深拷贝(区别完全深拷贝与单层深拷贝。 //No2:不可变对象的copy方法是浅拷贝,mutableCopy方法是深拷贝。 //No3:copy方法返回的对象都是不可变对象。
RAC 常用使用场景: 1.监听某个方法有没有调用(rac_signalForSelector:判断有没有调用某个方法) 2.代替KVO 3.监听事件 4.代替通知 5.监听文本框文字改变 6.处理一个界面,多个请求的问题
链式编程思想:是将多个操作(多行代码)通过点号(.)链接在一起成为一句代码,使代码可读性好。a(1).b(2).c(3) 链式编程特点:方法的返回值是block,block必须有返回值(本身对象),block参数(需要操作的值) 代表:masonry框架 函数式编程思想:是把操作尽量写成一系列嵌套的函数或者方法调用。 函数式编程特点:每个方法必须有返回值(本身对象),把函数或者Block当做参数,block参数(需要操作的值)block返回值(操作结果) 代表:ReactiveCocoa