Runtime简单使用 1.消息机制; 2.交换方法; 3.动态添加方法; 4.动态添加属性; 5.字典转模型; 6.消息转发流程; 7.自动化归档解档; 8.KVO底层实现; 9.内存泄漏检测;10.NSProxy模拟多重继承。
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方法返回的对象都是不可变对象。
各种锁Demo:NSLock、条件锁NSConditionLock、递归锁NSRecursiveLock、Synchronized、dispatch_semaphore、pthread_mutex、OSSpinLock