[英]regarding Static memory leak
我在其他一些類中有一個名為LineInfo
類我正在分配它並使用該類的對象我將內存分配給某個數組,然后如何在類B中釋放該數組:
A *a=[[A alloc]init];
a.lineArray=[[NSMutableArray alloc]initWithArray:_xElements];
[a release];
現在我發布了一個( [a release]
),但是在靜態分析器中它仍然使用linearray
進行泄漏。 我怎么發布它?
如果lineArray
是'A'類的保留屬性,則為其分配一個已分配的對象應該會引發內存泄漏。 如果是這樣,請改為以下行;
a.lineArray=[[NSMutableArray alloc]initWithArray:_xElements];
試試以下,
NSMutableArray *tempArray = [[NSMutableArray alloc]initWithArray:_xElements];
a.lineArray = tempArray;
[tempArray release];
lineArray
可能是A類的保留屬性,因此當您指定它時,您應該進行自動釋放:
a.lineArray=[[[NSMutableArray alloc]initWithArray:_xElements] autorelease];
或更好:
a.lineArray = [NSMutableArray arrayWithArray: _xElements];
然后你需要在A的dealloc方法中釋放lineArray。
- (void)dealloc
{
[lineArray release];
[super dealloc];
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.