MRC工程

1.建立ui

tagert-->Build Settings-->Apple LLVm7.0 - Language - Objective C -->Objetive - C Automatic Reference Counting -->NO.net

2.MRC指針

在MRC工程裏能夠用retainCount查看計數器對象

retain是對象的計數器加1get

release是對象的計數器減1it

 

[dog release];//dog對象的計數器爲0class

dog = nil;清空指針,並且還必須先使計數器爲0,釋放掉對象在清空指針引用

 

- ( void )setDog:(Dog *)dog{文件

    if (_dog != dog) {標籤

        [_dog release];

        [dog retain];

        _dog = dog;

    }

}

MRC中 「換狗」

 

建立對象的時候聲明爲autorelease 則出自動釋放池會讓該對象的計數器減一

@autoreleasepool {

            Person *personI = [[[Person alloc]init]autorelease];

            personI.name = @"蔣恆";

        }

 

!同一個對象引用同一個對象 被引用的對象計數器不會變化

3.ARC和MRC互相穿插

混編ARC

tagert-->Build Phases -->Compile Sonurces-->找到對應.m文件-->輸入標籤-fobjc-arc

混編MRC

tagert-->Build Phases -->Compile Sonurces-->找到對應.m文件-->輸入標籤-fno-objc-arc

 

4.ARC

在ARC工程中如過涉及到兩個類相互引用,就得把一方改爲前置引用,而且把strong改爲weak

相關文章
相關標籤/搜索