이 코드에 문제가 있습니다. 디버그 환경에서 작동합니다. 악기에 나는이 기능에 메모리 누수 문제를보고하고있어, 악기는NSKeyedUnarchiver 메모리 누수 문제
범주 이벤트 유형 타임 스탬프 주소 크기 책임 도서관 책임 발신자 27 SocialNetwork의 malloc 00 경고주고있다 : 19.951 0x3d64d20 80 재단 - [NSKeyedUnarchiver _decodeArrayOfObjectsForKey을 :]
- (NSMutableArray *)GetDataInstanceToUserDefaults{
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
NSData *storedObject = [userDefaults objectForKey:@"MyDataKey"];
NSMutableArray *data;
if(storedObject != nil)
{
NSArray *savedArray = [NSKeyedUnarchiver unarchiveObjectWithData:storedObject];
if(savedArray != nil)
data = [[NSMutableArray alloc] initWithArray:savedArray];
else
data = [[NSMutableArray alloc] init];
}else{
data = [[NSMutableArray alloc] init];
}
return data;
}
내가 내 문제 어디 이해하지 못했다?
는 지원편집 주셔서 감사합니다 : 그런데 나는 (당신이 볼 수 있듯이),이 문제에 대해이 기능을 자세한 내용을 제공해야 내 객체를 저장한다. 내 객체는 사용자 정의 클래스이며 NSMutableArray에 저장합니다.
나는 이미 내가 문제가 사용자 정의 클래스의 initWithCoder:
방법에 가능성이 높습니다 생각하는 내 사용자 정의 클래스
-(void)encodeWithCoder:(NSCoder *)coder{
-(id)copyWithZone:(NSZone*)zone {
-(id)initWithCoder:(NSCoder *)coder{
TechZen 신속한 답변을 다시 보내 주십시오. 그래서, 내 문제를 해결하기 위해 무엇을해야합니까? – fyasar
TechZen 후 stackoverflow 연구, 스테판 폰 Chossy 내 문제와 관련된 답변을 준, 누군가가 나와 같은 문제가 있다면, 여기를보십시오 : http://stackoverflow.com/questions/537044 저장/- 주문 개체 인-AN-NSMutableArray를 인 - nsuserdefaults 맞춤 클래스/751,749 # 751,749 는 사용해야 - (ID) initWithCoder (NSCoder *) 코더 { \t 자기 = 슈퍼 INIT] ; 대신 ; - (id) initWithCoder : (NSCoder *) 코더; { self = [[CustomObject alloc] init]; 다시 고맙습니다. – fyasar
@fyasar 답안으로 답안을 올리십시오. 위로 올려주세요. 'self = [[MyObject alloc] init]'에서'self = [super init]'로 전환하면 실제로 Instruments에서 프로파일 링에 의해보고 된 누출을 해결할 수 있습니다. – Palimondo