В названии говорится все. Вот где мой deadstore
предупреждение:Мертвый магазин при использовании initWithCapacity в массиве
//"objects" is just an array that I have above
NSMutableArray *arr = [[NSMutableArray alloc]initWithCapacity:[objects count]];
arr = [methodReturningAnArray:withArrayParam]; //i give "objects" as param
И это говорит value stored during the initialization is never read
на [[alloc]init]
линии.
Но я читал, что предоставление массива определенного размера во время init более оптимально, и здесь я могу себе это позволить. Есть ли что-то, что я делаю неправильно или есть какая-то магия?
Но дело в том, что я не назначаю никакого значения, просто размер емкости! Является ли размер считается ценным? Этот размер полностью игнорируется на следующей строке? –
Нет, вы * делаете * присваиваете значение. Вы назначаете значение '[[NSMutableArray alloc] initWithCapacity: [objects count]]'. –
Когда вы назначаете init' класс, вы получаете экземпляр этого класса. 'NSMutableArray' - это класс в Objective-C; это не похоже на 'int [] c_array = int [6];' в C. 'NSMutableArray * arr' является указателем на объект, который имеет методы и свойства. –