- 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.
Между прочим, код из платной библиотеки...
pilot34 26.02.2013 00:24 # +2
absolut 26.02.2013 08:41 # +1
ворованный?
clockworkman 27.02.2013 17:16 # 0
2absolut код купленный.
Xtasy 28.02.2013 14:38 # 0
bormand 28.02.2013 14:40 # 0
Ну, если не читать доку, то можно о нем даже и не знать. Кстати, а что делает этот самый weak в ObjC?
Xtasy 28.02.2013 15:13 # +1
Обычно используется для ссылки ребенка на родителя (например, при объявлении делегата).
Т.е. если мы занулим все ссылки на родителя кроме тех, что weak, то его retain count станет равным 0 и GC уничтожит его.
Если забыть weak (и написать по привычке strong), до ребенок будет держать родителя, а тот, в свою очередь, будет держать ребенка. Соот-но, оба будут иметь ненулевой retain coint и никогда не будут уничтожены. Отсюда и leak.
bormand 28.02.2013 15:19 # 0
> GC
Да какой это GC... GC это на андроиде или в ObjC под макось. А это так, классический подсчет ссылок...
Xtasy 28.02.2013 15:23 # 0
clockworkman 28.02.2013 18:27 # 0
Xtasy 28.02.2013 19:03 # 0
QuickNick 01.03.2013 16:42 # 0
krypt 01.03.2013 23:42 # 0
nixoid 12.03.2013 15:52 # 0