我有一个像这样的功能
-(NSMutableArray *)getData
{
NSMutableArray *tempArr=[NSMutableArray alloc]init];
// perform some operation on tempArr
return tempArr;
}
在上面的例子中,我为nsmutablearray创建了新对象,需要返回它的引用。 现在一切正常,但是当我用仪器(泄漏)运行时,它在“NSMutableArray * tempArr = [NSMutableArray alloc] init]中显示100%内存泄漏;”这一行。
可以解决这个问题,请写这个帖子
Thnx in advce
答案 0 :(得分:3)
我通常这样做:
return [tempArr autorelease];
考虑切换到ARC。
答案 1 :(得分:2)
对于这种情况,您应该使用像这样的自动释放...
-(NSMutableArray *)getData
{
NSMutableArray *tempArr=[[NSMutableArray alloc]init]autorelease];
// perform some operation on tempArr
return tempArr;
}
希望这会有所帮助。
答案 2 :(得分:0)
你必须在返回时释放它,就像这样
-(NSMutableArray *)getData
{
NSMutableArray *tempArr=[NSMutableArray alloc]init];
// perform some operation on tempArr
return [tempArr autorelease];
}