zoukankan      html  css  js  c++  java
  • OC_自动引用计数器_0x06

    0x01.内存管理的思考方式:

    1)自己生成的对象,自己所持有;

    2)非自己生成的对象,自己也能持有;

    3)自己持有的对象不再需要时释放;

    4)非自己持有的对象无法释放;

    0x02.所有权修饰符

    1)__strong修饰符,是id类型和对象类型默认的所有权修饰符。也就是说,一下源代码中的id变量,实际上被附加喇所有权修饰符:

      id obj =[ [NSObject alloc] init];

    持有枪引用的变量在超出其作用域时被废弃,随着强引用的失效,引用的对象会随之释放。

    正如苹果宣称的那样,通过__strong修饰符,不必再次键入retain或者release,完美地满足了“引用计数式内存管理思考方式”;

    2)__weak修饰符,解决引用计数式内存管理中“循环引用”的问题。

    遗憾的是,__weak修饰符只能用于iOS5以上及OS X Lion以上版本的 应用程序。在iOS4以及OS X Snow Leopard的应用程序中可以使用__unsafe_unretained修饰符来代替。

    3)__unsafe_unretained修饰符

    4)__autorelease修饰符,

  • 相关阅读:
    Linux——端口命令
    Linux——iptables 禁止 IP和端口
    CE第9关共用
    获得程序窗体标题-FindWindowW需要的参数
    mysql ODBC win10 设置
    Work
    Pet
    Is It A Tree?
    Ice_cream's world I
    小希的迷宫
  • 原文地址:https://www.cnblogs.com/fkunlam/p/4904399.html
Copyright © 2011-2022 走看看