разница между ARC и MRC - PullRequest
       50

разница между ARC и MRC

7 голосов
/ 02 февраля 2012

Я запутался с материалом Apple.

Управление памятью осуществляется тремя способами:

  1. автоматический подсчет ссылок.
  2. ручной подсчет ссылок.
  3. сбор мусора.

Я сомневаюсь, в чем разница между автоматическим подсчетом ссылок и ручным подсчетом ссылок.

Может кто-нибудь объяснить мне?

Ответы [ 2 ]

14 голосов
/ 02 февраля 2012

В ARC вам не нужно освобождать / автоматически освобождать выделенную вами память, где, как и в случае руководства, вы должны позаботиться об этом. например ручной кейс

-(void)someMethod
{ 
    NSMutableArray *arr = [[NSMutableArray alloc] init];
    //use array
    [arr release]; //when array is in no use
}

ARC чехол

-(void)someMethod
{
    NSMutableArray *arr = [[NSMutableArray alloc] init];
    //use array
}
3 голосов
/ 02 февраля 2012

В ARC ОС следит за управлением памятью, поэтому вам не нужно беспокоиться об освобождении объектов. Это довольно опрятно для начинающих. Принимая во внимание, что при ручном подсчете вам придется следить за освобождением памяти, и если вы не сделаете это правильно, вы в конечном итоге сломаете свое приложение. ARC и MRC доступны в ios, где сборка мусора ограничена MAC-OSX, надеюсь, это поможет. Индер привел хороший пример.

...