7

Próbuję użyć NSThreads z ARC w 4.3.5. Dzięki iOS 5 wszystko działa idealnie, ale jeśli spróbuję go na starszym systemie iOS, np. 4.3, jego wycieknie. Zwykle używałbym Autoreleasepool dla NSThreads, ale ponieważ nie ma ręcznej autoreleasepool w ARC, nie wiem jak to naprawić.NSThreads w Automatic Reference Counting (ARC)

Dostaję mnóstwo wiadomości takich jak "__NSAutoreleaseNoPool(): Obiekt 0x4567b40 klasy NSComparisonPredicate autoreleased bez puli w miejscu - po prostu wyciek" w mojej konsoli po uruchomieniu wątku.

NSThread detachNewThreadSelector:@selector(showAlert) toTarget:self withObject:nil]; 

Jak prawidłowo wkręcić z ARC i iOS uprzedniej do 5,0.

Cheers nettz

Odpowiedz

20
-(void)showAlert 
{ 
    @autoreleasepool { 
     // Your code. 
    } 
} 
+0

hej dzięki kolego, to działało. – nettz

+0

I przez "// Twój kod." oznacza kod w selektorze, w tym przypadku "showAlert". Zajęło mi to chwilę, żeby to przeanalizować. –

+0

Edytowałem fragment kodu w celu wyjaśnienia. Komentarz Bena odnosił się do starej wersji Jonathana, bez otaczających go rzeczy "showAlert". :) – Quuxplusone