Załóżmy, że już tworzyć słaby siebie korzystającOdnosząc się do słabego siebie wewnątrz zagnieżdżonego bloku
__weak typeof(self) weakSelf = self;
[self doABlockOperation:^{
...
}];
wewnątrz tego bloku, gdybym gnieździe inny blok:
[weakSelf doAnotherBlockOperation:^{
[weakSelf doSomething];
}
stworzy cykl zatrzymania? Czy muszę utworzyć kolejne słabe odniesienie do weakSelf?
__weak typeof(self) weakerSelf = weakSelf;
[weakSelf doAnotherBlockOperation:^{
[weakerSelf doSomething];
}
Rozumiem więc, że część dotycząca słabego ja jest potrzebna, jeśli na przykład samo zachowuje blok. Ale jakie operacje mogę wykonać, że będę potrzebował słabszegoSelfa? –
Właściwie, myślę, że nigdy nie będziesz potrzebował "słabszych elementów" - słaby wskaźnik jest oznaczony jako nie zwiększający liczby odnośników, a zatem nie ma sposobu, aby uczynić go "słabszym". –