美文网首页iOS开发
assign VS weak ,__block vs __wea

assign VS weak ,__block vs __wea

作者: 43b86d3b5040 | 来源:发表于2017-04-10 11:51 被阅读4次
    • assign用于基础类型的赋值,不改变属性的引用计数,如:NSInteger,CGFloat,int float double

    • weak 用于对象类型,不改变属性的引用计数,当该对象被释放的时候,该弱引用的属性自动失效并且被赋值为nil,该属性可以避免两个强引用产生的循环引用导致的内存无法释放的问题。

    • __block用于指明当前变量可以在block内部进行修改,因为在block申明的同时会捕获该block所使用的全部自动变量的值,仅有使用权没有修改权利,使用了__block关键字后可以进行修改。

    • __weak 是所有权修饰符,被修饰的变量在使用结束后会被释放。
      所有权修饰符包括: __strong __weak __unsafe_unretained __autorealease

    相关文章

      网友评论

        本文标题:assign VS weak ,__block vs __wea

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