assign和weak的区别是什么?

一般情况下

    assign:修饰基本数据类型

    weak:修饰控件,代理的时候使用

控件一般使用weak的原因是为什么呢?

  weak:成员变量是弱指针引用

  weak:不会计数器 +1,如果对象销毁,指针也跟着清空

 

assign:声明一个对象,使用__unsafe_unretained修饰

assign:不会计数器+1,如果对象销毁,指针不会销毁

 __unsafe_unretained会造成野指针错误

 

posted @ 2016-04-22 16:32  文健博客  阅读(151)  评论(0编辑  收藏  举报