Obj-C:参考或副本?

时间:2010-03-04 15:11:49

标签: objective-c iphone release nsarray

产品项目是NSArray的副本,还是仅仅是对NSArray中对象的引用?是否需要发布?考虑到没有alloc,我认为没有必要发布,对吗?

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

2 个答案:

答案 0 :(得分:1)

它是指向ProductItem类的指针。

如果您已经做了一些事情来增加它的保留计数,那么您应该释放一个对象。即alloc/initcopy或致电retain

答案 1 :(得分:0)

它只是ProductItem类型的指针,因此它不是副本。

您的引用保证在对objectAtIndex的调用范围内有效(它在对象上调用autorelease)。如果你想保留更长时间,你需要保留并负责在你完成它后释放它。