总结问题

2017-11-29  本文已影响3人  有理想有暴富的小青年

1、代理和block的区别:

代理优势:代理占用系统资源小,只是存储了一个对象指针,有三个方法以上的话建议使用代理 ,可以获取上下文进行操作

缺点:代码量多

block:

优势:代码块简洁,便于阅读与维护,可做参数,返回值传递

缺点:容易引起循环引用,引用了外部变量的时候是将block从全局区拷贝到堆区的(占用系统资源比代理多些)

2、_ _ block 后为什么能被修改了

因为_ _block之后把变量从栈区拷贝到堆了  http://www.jianshu.com/p/a1c8532e172d

3、 userdefault可以存储的类型

nsnumber,nsstring,nsarray,nsdictionary,nsdate,nsdata,bool

(对象需要进行进行归档然后存储 http://blog.csdn.net/kongu/article/details/46968671)

4、代理用weak还是assign修饰  区别是什么

用weak修饰代理 

mrc中用assign修饰然后出现了arc就用weak了 因为assign修饰代理之后代理销毁后指针不会自动置位nil

weak修饰代理 代理销毁后 指针会自动置为nil 

assign 一般用来修饰基本数据类型 

weak和assign都不会是RC+1

5、深复制和浅复制http://www.jianshu.com/writer#/notebooks/19380513

6、消息机制 : 对象方法是在类对象的方法列表里面 类方法是在元类的方法列表里面的

1、通过isa指针进行去对应的类中进行查找

2、根据方法名注册方法编号

3、根据方法编号进行查找对应的方法(因为操作编号比操作字符串跟家快捷方便)

上一篇 下一篇

猜你喜欢

热点阅读