2009-08-06 9 views
10

Tworzę NSArray wewnątrz metody, więc muszę ją porzucić, kiedy skończę. Przekazuję tę tablicę do metodyC. Potem nie potrzebuję już tablicy w mojej metodzie, która wywołuje ten performSelector: withObject: afterDelay :.Czy muszę zachować obiekt przed przekazaniem go do -selectSelector: withObject: afterDelay :?

Documentaton nie mówi, czy anArgument ma zostać zachowany, więc zastanawiam się, czy musiałem go autoreasować, czy zachować, aby pozostać przy życiu. Co myślisz?

+2

Szybki komentarz: autorelease nie pomogłby tak czy owak, ponieważ kto wie, jak długo będzie to opóźnienie. Z pewnością będzie to dłużej trwało niż ukończenie pętli. –

+1

'-performSelector: withObject: afterDelay:' gwarantuje działanie w następnym cyklu pętli uruchamiania (nawet jeśli opóźnienie wynosi 0,0 sekundy), co powinno oznaczać, że pula autorelease zostanie opróżniona. –

Odpowiedz

17

Metody zachowują swój odbiornik i argument.

Powiązane problemy