Учитывая, что target_locations
является NSMutableArray
, и ARC не включен, правильная процедура здесь следующим образом:
CLLocation * newLocation = [[CLLocation alloc] initWithLatitude : 51.50373056
longitude : 0.129986111];
target_locations[0] = newLocation;
[newLocation release];
Вы не должны посылать release
в результате доступа к массиву, потому что вы не» t владеют этим объектом через этот указатель. Хотя он работает в этом случае, он неверно семантически и может вызвать проблемы, если вы привыкнете.
Также рассмотрите возможность переименования target_locations
в targetLocations
, что согласуется с стилем какао. Использование подчеркивания делает его похожим на простой массив C, а не на объект.
Ответ зависит от типа 'target_locations' (хотя вы не должны _really_ посылать' release' в объект в массиве в любом случае). 'NSArray' или массив plain-C? –
Think * ownership *, нет * сохранить счет *. Или, если вам нужно, не позволяйте @bbum знать. –
target_locations является NSArray, надеюсь, что bbum сделает комментарий ... :) – Stanley