ARC эквивалент авто-релиза? - PullRequest
15 голосов
/ 28 ноября 2011

Если у меня есть этот код,

+ (MyCustomClass*) myCustomClass
{
    return [[[MyCustomClass alloc] init] autorelease];
}

Этот код гарантирует , что возвращаемый объект автоматически освобождается. Что эквивалентно этому в ARC?

Ответы [ 2 ]

20 голосов
/ 28 ноября 2011

В ARC нет эквивалента, так как вам не нужно делать это самостоятельно. это произойдет за кулисами, и вам не разрешено делать это самостоятельно.

Вы просто используете -

+ (MyCustomClass*) myCustomClass
{
    return [[MyCustomClass alloc] init];
}

Я предлагаю вам посмотреть введение ARC в WWDC 2011 года, так как это очень просто, когда вы его получите.

Смотрите здесь: https://developer.apple.com/videos/wwdc/2011/

И как говорит парень в фильме -

Тебе больше не нужно об этом думать (почти)

7 голосов
/ 28 ноября 2011

При компиляции с ARC вы просто пишете это как:

+ (MyCustomClass *)myCustomClass
{
    return [[MyCustomClass alloc] init];
}

и компилятор / среда выполнения позаботятся обо всем остальном.

...