Obj-C: ссылка или копия? - PullRequest
0 голосов
/ 04 марта 2010

Является ли элемент продукта копией или просто ссылкой на объект в NSArray? Это должно быть выпущено? Учитывая, что нет alloc, я предполагаю, что нет необходимости в выпуске, правильно?

ProductItem * item = [appDelegate.productTextList objectAtIndex: [indexPath row]];

Ответы [ 2 ]

1 голос
/ 04 марта 2010

Указатель на класс ProductItem.

Вы должны только освободить объект, если вы что-то сделали для увеличения его количества. То есть alloc/init, copy, или позвоните retain.

0 голосов
/ 04 марта 2010

Это просто указатель типа ProductItem, поэтому это не копия.

Ваша ссылка гарантированно действительна в контексте вызова objectAtIndex (он вызывает autorelease для объекта). Если вы хотите хранить его дольше, вы должны сохранить его и нести ответственность за его освобождение, когда закончите.

...