- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- (void)shutdown {
...
// shutdown routine
...
[self retain];
dispatch_async(_decodeQueue, ^{
[self cleanup];
});
}
- (void)cleanup {
[self release];
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−110
- (void)shutdown {
...
// shutdown routine
...
[self retain];
dispatch_async(_decodeQueue, ^{
[self cleanup];
});
}
- (void)cleanup {
[self release];
}
Старый-добрый memory management.
Между прочим, код из платной библиотеки...
ворованный?
2absolut код купленный.
Ну, если не читать доку, то можно о нем даже и не знать. Кстати, а что делает этот самый weak в ObjC?
Обычно используется для ссылки ребенка на родителя (например, при объявлении делегата).
Т.е. если мы занулим все ссылки на родителя кроме тех, что weak, то его retain count станет равным 0 и GC уничтожит его.
Если забыть weak (и написать по привычке strong), до ребенок будет держать родителя, а тот, в свою очередь, будет держать ребенка. Соот-но, оба будут иметь ненулевой retain coint и никогда не будут уничтожены. Отсюда и leak.
> GC
Да какой это GC... GC это на андроиде или в ObjC под макось. А это так, классический подсчет ссылок...