美文网首页
iOS开发-修饰代理delegate用weak还是assign?

iOS开发-修饰代理delegate用weak还是assign?

作者: 小熊_07cb | 来源:发表于2019-04-06 16:52 被阅读0次

    答案:weak   

    分析:

    1、weak在属性所指的对象遭到摧毁时,系统会将weak修饰的属性对象的指针指向nil,在OC给nil发消息是不会有什么问题的;如果使用assign在属性所指的对象遭到摧毁时,属性对象指针还指向原来的对象,由于对象已经被销毁,这时候就产生了野指针,如果这时候在给此对象发送消息,很容造成程序奔溃

    注意:如果用strong  会造成循环引用,所以用weak 能避免这种情况

    相关文章

      网友评论

          本文标题:iOS开发-修饰代理delegate用weak还是assign?

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