- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
{
NSArray *items = ...;
[items enumerateObjectsUsingBlock:^(Item *item, NSUInteger idx, BOOL *stop) {
// do some stuff with item
item = nil;
}];
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−516
{
NSArray *items = ...;
[items enumerateObjectsUsingBlock:^(Item *item, NSUInteger idx, BOOL *stop) {
// do some stuff with item
item = nil;
}];
}
Строка 6 написана сознательно и повторяется в ряде других методов.
kyzmitch 25.09.2015 15:43 # 0
guest 14.11.2015 20:49 # 0
bormand 14.11.2015 20:57 # +1
guest 14.11.2015 21:00 # 0
kegdan 14.11.2015 21:46 # 0
guest 14.11.2015 21:47 # 0
kegdan 14.11.2015 21:53 # 0
bzz 15.11.2015 13:43 # 0
bzz 15.11.2015 13:45 # 0
guest 17.11.2015 03:40 # 0
bzz 17.11.2015 03:44 # 0
guest 17.11.2015 04:07 # 0
bzz 17.11.2015 04:11 # 0
You never need to set a variable to nil in ARC unless you want to ensure its deallocation as soon as possible (i.e. [myObject release] under non-ARC code).
при желании можно еще найти, у меня желания нет я видел как работает код без обнуления и с обнулением пойнтеров
Не один я так делаю, многие так делают чтоб быстро освободить память
http://stackoverflow.com/questions/11444988/under-arc-need-to-set-nil-to-all-the-strong-member-when-unload-the-viewcontroll
guest 17.11.2015 04:21 # +1
В тоже время если ты знаешь что до конца блока еще далеко, но есть смысл занулить, но только если обьекту нету в пуле. Иначе он не удалится. Чувак ни слова не казал про пул, а ты пул приплел зачем то.
Нихера ты в мемори менеджменте ни педришь
guest 17.11.2015 15:58 # +1
guest 17.11.2015 16:44 # +1