2011-12-28 5 views
1

пул авторефератов будет выпущен в конце цикла запуска.NSRunLoop и NSAutoreleasePool, как они взаимодействуют?

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

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

Что делать, если наше приложение не обеспечивает никаких касаний?

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

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

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

Возможный дубликат [Obj-c autorelease переменная цепочка методов] (http://stackoverflow.com/questions/5878875/obj-c-autorelease-a-variable-up-a-chain-of- методы) – Caleb

ответ

1

Подумайте об этом с точки зрения стека вызовов.

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

 Смежные вопросы

  • Нет связанных вопросов^_^