NSMutableArray (fileArray)에 MYFileObj를 저장하고 UITavleView (tableview)에 데이터를 표시하려고합니다.NSMutableArray에서 객체를 제거 할 때 메모리 누수가 발생했습니다.
//----------------------------------MYFileObj
#import <UIKit/UIKit.h>
@interface MYFileObj : NSObject {
NSString *fileName;
}
-(void) setFileName:(NSString *)s ;
-(NSString *) fileName ;
@end
내가 데이터
NSMutableArray *fileArray;
를 저장할 배열
나는 새로운 객체를 생성하고, 내가 fileArray를 다시로드 할 무언가를 처음 relaodData 후 fileArray
MYFileObj *newobj=[[MYFileObj alloc] init ];
NSString *ss=[[NSString alloc] initWithFormat:@"%@",path] ;
[newobj setFileName:ss];
[ss release];
[fileArray addObject:newobj];
[newobj release];
[atableview reloadData];
에 추가 할 그리고 atableview 다시 그리기.
//code to remove all object in atableview
if([fileArray count]>0)
{
[fileArray removeAllObjects];
[atableview reloadData];
}
메모리 누수가 있음을 확인했습니다. "removeAllObjects"메서드가 MYFileObj 만 제거하거나 MYFileObj의 멤버 속성 인 "fileName"을 제거하는 방법을 알고 싶습니까?
감사
InterDev에서
선언 된 속성을 사용하십시오. getter와 setter는 인터페이스에서'@property (copy, nonatomic) NSString * fileName; '과 구현시 자동으로'@synthesize fileName;'으로 생성 될 수 있습니다. – kennytm