【发布时间】:2010-06-22 00:23:13
【问题描述】:
我一直在努力寻找从静态方法返回数组的最佳模式。
在我的静态方法 getList(在 BIUtility 类中)中,我分配了一个 NSArray 来返回。在返回线,我这样做:
return [array autorelease];
然后在调用方法中,我分配一个这样的数组:
NSArray * list = [[[NSArray alloc] initWithArray:[BIUtility getList]] retain];
稍后我使用以下命令发布列表:
[list release];
我认为这会导致内存泄漏,因为保留将保留计数增加了太多。但是,如果我不保留,我会得到一个 Bad_Exec,因为它已经释放了类。
我觉得我想太多了,必须有一个典型的模式。我一直在寻找所有地方,但找不到“最佳实践”。
感谢您的帮助。
【问题讨论】: