OC_自动引用计数器_0x08

ARC是“由编译器进行内存管理”的,但实际上只有编译器是无法完全胜任的,在此基础上还需要Objective-C运行时库的协助。也就是说,ARC由以下工具、库来实现。

  1)clang(LLVM编译器)3.0以上;

  2)objc4 Objective-C运行时库493.9以上;

id __strong obj = [[NSObject alloc] init]

/*编译器的模拟代码*/

id obj = objc_msgSend(NSObject, @selector(alloc));

objc_msgSend(obj, @selector(init));

objc_release(obj);

 

id __strong obj = [NSMutableArray array];

/*编译器的模拟代码*/

id obj = objc_msgSend(NSMutableArray, @selector(array));

objc_retainAutoreleaseReturnValue(obj);

objc_release(obj);

posted on 2015-10-23 15:02  FKunLam  阅读(122)  评论(0编辑  收藏  举报