请选择 进入手机版 | 继续访问电脑版
MRC可以直接获取对象的引用计数,像这样
[Objective-C] 纯文本查看 复制代码
NSLog(@"%lu",view.retainCount);

ARC下引用计数由编译器自动管理,不能够直接获取,所以上面的方式不能用了。可以用下面的几种方法:
[Objective-C] 纯文本查看 复制代码
    id obj = [[NSObject alloc]init];

    //1、利用KVC获取
    [obj valueForKey:@"retainCount"];
    NSLog(@"retain count 1 = %@\n", [obj valueForKey:@"retainCount"]);
    
    //2、使用私有API
    OBJC_EXTERN int _objc_rootRetainCount(id);
    _objc_rootRetainCount(obj);
    NSLog(@"retain count 2 = %d\n", _objc_rootRetainCount(obj));
    
    //3、转化为Core Foundation对象,获取引用计数
    CFGetRetainCount((__bridge CFTypeRef)(obj));
    NSLog(@"retain count 3 = %ld\n", CFGetRetainCount((__bridge CFTypeRef)(obj)));


举报 使用道具
| 回复

共 0 个关于本帖的回复 最后回复于 2016-12-30 16:15

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

本文内容不够精彩,我要自己发布

发布新帖

推荐阅读

    拥有的,不仅是技术!还有...
    联系 Email: support.36ji@qq.com

    • 关注酷站官方微博
      了解最新动态

    • 关注酷站微信公众号
      这里有好玩的讯息

    • 加入酷站交流群
      不断在这里成长

    © 2014-2017 36ji网络科技有限公司 . All rights reserved.
    京ICP备14001609号

    Archiver|    
    Powered by Discuz! X3.2 © 2001-2013 Comsenz Inc.
    快速回复 返回顶部 返回列表