NSRunLoop и NSAutoreleasePool, как они взаимодействуют? - PullRequest
1 голос
/ 28 декабря 2011

пул автоматического выпуска будет выпущен в конце цикла выполнения.

Означает ли это конец любой итерации цикла?Когда это происходит?

После обработки каждого события касания, движения или дистанционного управления пул будет очищен.

Что если наше приложение не предоставляет никакихприкосновения?

Если мы используем такой код, как мы можем быть уверены, что объект не освобождается между [self someObject] и retain в someMethod?

- (id) someObject
{
    return [[[SomeClass alloc] init] autorelease];
}

- (void) someMethod
{
    SomeClass * object = [[self someObject] retain];
} 

1 Ответ

1 голос
/ 28 декабря 2011

Думайте об этом в терминах стека вызовов.

В приведенном выше примере -someMethod не завершается, пока значение, возвращенное из - someObject, не будет сохранено и не присвоено object.

...