美文网首页
iOS开发中内存相关修饰符的区别

iOS开发中内存相关修饰符的区别

作者: 落叶兮兮 | 来源:发表于2020-07-28 16:38 被阅读0次

    1.assign:直接赋值,和引用计数无关,用来声明简单数据类型的属性,如int
    2.retain:对旧对象进行释放,并强引用新的对象,使其引用计数加1,用在MRC中
    3.strong:对新对象进行强引用,释放旧对象,使其引用计数加1,作用与retain相似,用在ARC中
    4.copy:在实现setter方法时,采用copy函数,会生成新的对象被自己持有
    5.weak:弱引用,不对所赋值的对象进行持有,但是是安全的,当对象不可用时,会被置为nil,用在ARC中。
    6.unsafe_unretained 弱引用,和weak不同,如果引用的对象不可用,则当前指针置为nil,会产生野指针。

    相关文章

      网友评论

          本文标题:iOS开发中内存相关修饰符的区别

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