首页 > 代码库 > ARC使用规则

ARC使用规则

第一、不能使用retain/release/retainCount/autorelease
使用ARC,内存管理由编译器来负责,无需写上面关键词
第二、在ARC环境下,使用alloc/new/copy/mutableCopy来生成/持有对象
copy/mutableCopy的使用需要copyWithZone的支持,如果没有,则不支持copy/mutableCopy
第三、不能显示调用[super dealloc]
第四、使用@autoreleasepool块来替代NSAutorealeasePool
第五、不能使用区域NSZone
第六、对象变量不能作为C语言结构体的成员
第七、显示转换id和void *
在不使用ARC时,下面的转化是正确的
id obj=[[NSObject alloc] init];
  void *p=obj;
如果使用ARC,上述转换就会报错,加__bridge转换
 id obj=[[NSObject alloc] init];
        void *p=(__bridge void*)obj;

ARC使用规则