코드를 따르는 프로젝트를 분석 할 때 누출 경고가 나옵니다. 내 메모리 누수 문제를 해결할 방법이 있습니까?아이폰에 할당 된 객체의 잠재 누출
경고 :
Potential leak of an object allocated on line 38 and stored into 'addressBook'
우는 소리가 내 코드입니다. ADV에서
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
m_tableDataArray = [[[NSMutableArray alloc] init]autorelease];
NSMutableArray *listDate = [[[NSMutableArray alloc] init]autorelease];
ABAddressBookRef addressBook = ABAddressBookCreate();
NSArray *addresses = (NSArray *) ABAddressBookCopyArrayOfAllPeople(addressBook);
NSInteger addressesCount = [addresses count];
for (int i = 0; i < addressesCount; i++) {
ABRecordRef record = [addresses objectAtIndex:i];
NSString *firstName = (NSString *)ABRecordCopyValue(record, kABPersonFirstNameProperty);
NSString *lastName = (NSString *)ABRecordCopyValue(record, kABPersonLastNameProperty);
if(firstName != nil && lastName != nil){
NSString *contactFirstLast = [NSString stringWithFormat: @"%@ %@", firstName, lastName];
[listDate addObject:contactFirstLast];
}
[firstName release];
[lastName release];
}
m_tableDataArray = [[NSArray arrayWithArray:listDate] retain];
[addresses release];
addresses = nil;
[m_mainTable reloadData];
}
감사합니다 ... 당신은 당신이 사용을 해제 할 필요가 addressBook
를 사용하여 완료되면
작성/복사 한 내용은 모두 릴리스해야합니다. 이 경우 ABAdressBookCreate()가 주소록 참조를 만들고 있는데 어디서든 공개하지 않습니다. – EmilioPelaez
당신은 내가이 물체를 출시해야한다는 것을 의미합니까? 'ABAddressBookRef addressBook = ABAddressBookCreate(); ' –
코드를 설명해주세요. 남자'주소록이란 무엇입니까? 어떤 사람은 당신을 도울 수 있습니다 – Ayaz