2011-07-12 4 views
-2

iphone apps.Nowの新機能です。これは最初のアプリですが、アプリはインストールされていますが実行されていませんか? 私はこのコードを書いて、メモリリークを示しています。見つけてください。事前におねがいします。あなたが意味し、姓と名のABRecordCopyValue使用しているメモリリークを確認しますか?

ABRecordRef ref = CFArrayGetValueAtIndex(all, i); 

CFStringRef *firstName = (CFStringRef *)ABRecordCopyValue(ref, kABPersonFirstNameProperty); 
NSLog(@"Name %@", firstName); 
contact.strFirstName = (NSString*)firstName; 

CFStringRef *lastName = (CFStringRef *)ABRecordCopyValue(ref, kABPersonLastNameProperty); 
NSLog(@"Name %@", lastName); 
contact.strLastName = (NSString*)lastName; 
contact.contactName = [NSString stringWithFormat:@"%@ %@",(NSString *)firstName,lastName]; 
NSLog(@"Name %@", contact.contactName); 

ABMutableMultiValueRef phoneNumbers = ABRecordCopyValue(ref, kABPersonPhoneProperty); 
for(CFIndex j = 0; j < ABMultiValueGetCount(phoneNumbers); j++) 
{ 
    CFStringRef phoneNumberRef = ABMultiValueCopyValueAtIndex(phoneNumbers, j); 

    NSString *phoneNumber = (NSString *) phoneNumberRef; 
    contact.strMobileNo = phoneNumber; 
    NSLog(@"phoneNO is %@", phoneNumber); 

    CFRelease(phoneNumberRef); 

}  

ABMultiValueRef emails = ABRecordCopyValue(ref, kABPersonEmailProperty); 
for(CFIndex k = 0; k < ABMultiValueGetCount(emails); k++) 
{ 
    CFStringRef emailRef = ABMultiValueCopyValueAtIndex(emails, k); 
    NSString *mailid = (NSString *) emailRef; 
    contact.strMail = mailid; 
    NSLog(@"Email is %@", mailid); 

    CFRelease(emailRef); 

} 

CFRelease(emails); 
CFRelease(phoneNumbers); 
+0

xcodeからメモリリークファインダーを使用してみませんか? – Sauleil

+0

私はそれを使用しましたが、私はこの技術で新しいbcz imを得ていません – Maidul

答えて

2

あなたはCFReleaseにそれらを同様にする必要があります。あなたが追加する必要があり

+0

hai、私はそれらの2つのfirstNameとlastNameアプリケーションをリリースしました......クラッシュだったので......助けてください....... – Maidul

+0

'NSLog(@" Name%@ "、contact.contactName)の行の後に' CFRelease'を追加します; 'どこから解放しましたか? – Joe

0

CFRelease(firstName); 
CFRelease(lastName); 
+0

hai、firstNameとlastNameの2つのアプリケーションをクラッシュさせてしまったので......助けてください....... – Maidul

1

CFReleaseは(@Joeと@jamapagはすでに答えとして)行く方法です..私はちょうどXCodeのは、CMD +シフトのようないくつかの素晴らしい機能を持っていることを追加したいと思います+ aはuaスタティックメモリアナライザを提供します。また、run - > w/performanceツールを使用して割り当てやリークを使用してメモリ管理を動的に解析することもできます。

+0

あなたの提案をお寄せいただきありがとうございます。 – Maidul

関連する問題