Objective-C编程语言课程笔记(十)自动引用计数ARC(极客班)

一、了解ARC

Objective-C编程语言课程笔记(十)自动引用计数ARC(极客班)_第1张图片
Paste_Image.png

二、引用计数管理

Objective-C编程语言课程笔记(十)自动引用计数ARC(极客班)_第2张图片
Paste_Image.png
BLNPoint *p1 = [[BLNPoint alloc]init];
    
    BLNRectangle *rect = [[BLNRectangle alloc]init];
    
    //  ---------------    引用计数 retain +1操作
    
    BLNPoint *p2 = p1;
    rect.center = p1;
    draw(p1);
    array=[[NSMutableArray alloc]initWithCapacity:10];
    [array addObject:p1];
    
    //  ---------------    引用计数 release -1操作
    p1 = nil;
    p2 = nil;
    rect.center = nil;

    [array removeObjectAtIndex:0];
    
    NSLog(@"continue......");
Objective-C编程语言课程笔记(十)自动引用计数ARC(极客班)_第3张图片
Paste_Image.png

三、自动释放池

Objective-C编程语言课程笔记(十)自动引用计数ARC(极客班)_第4张图片
Paste_Image.png

1、什么时候需要手工管理Autorelease Pool

Objective-C编程语言课程笔记(十)自动引用计数ARC(极客班)_第5张图片
Paste_Image.png
void poolDemo(){
    
    @autoreleasepool {
        for (int i = 0; i < 10; i++) {
            __unused  BLNRectangle *rect = [[BLNRectangle alloc]init];
            
        }
    }

你可能感兴趣的:(Objective-C编程语言课程笔记(十)自动引用计数ARC(极客班))