A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© SUPERREN_Hao 中级黑马   /  2016-1-14 15:43  /  875 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

   手动:

            通过程序员自己书写对象相关的语句(retain/release)来控制对象的引用计数
            以达到灵活的内存释放。

        手动内存管理的主意:

            1,Xcode项目默认的都是自动内存管理的(ARC),需要关闭自动内存管理。

            2,Person *p = [Person new];//对象p的引用引用计数器值为1
                任何自己创建的对象,都归自己多有。
*/

#import <Foundation/Foundation.h>
#import "Person.h"

int main(int argc, const char * argv[]) {
    @autoreleasepool {

        //创建实例对象
        Person *p = [Person new];  //任何自己创建的对象,都归自己所有
        //对于p对象空间来说,有一个所有者
        NSUInteger rc = [p retainCount];//获得对象的 引用计数

        NSLog(@"rc = %lu",rc);
        //通过自己手动的添加 retain 或者 release来管理。

        //如果向释p的空间,必须保证p对象的引用计数为0
        //想要达到0的话,需要让对象的饿引用计数-1
        //[对象 release];
        [p release];   //1--->0

        //如果对象的引用计数为0,此时会调用对象的dealloc(临终遗言)的方法

    }
    return 0;
}


2 个回复

倒序浏览
顶顶顶顶
回复 使用道具 举报
加油吧!                          
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马