美文网首页
iOS中assign和weak修饰符的区别

iOS中assign和weak修饰符的区别

作者: anny_4243 | 来源:发表于2017-02-07 16:12 被阅读55次

    assign与weak,它们都是弱引用声明类型,最大的区别在那呢?
    如果用weak声明的变量在栈中就会自动清空,赋值为nil。
    如果用assign声明的变量在栈中可能不会自动赋值为nil,就会造成野指针错误!
    他们常用在基本类型属性,比如BOOL,int等,还有就是delegate。

    在使用delegate时,需要注意,非ARC时是使用assign,但到了ARC时代,都建议使用weak,这样更安全。

    相关文章

      网友评论

          本文标题: iOS中assign和weak修饰符的区别

          本文链接:https://www.haomeiwen.com/subject/nqhmittx.html