-(void) vCreateAddressBookAndPopulateContact
{
self.addressBook =ABAddressBookCreate();
}
+(void) vCreateAddressBookAndPopulateContact
{
[[RCABAddressBookHandler singleton] vCreateAddressBookAndPopulateContact];
//[self
}
代碼是正確的。它創建了一個地址簿。當應用程序不在時,地址簿將在dealloc中發佈。如何在這種情況下靜默內存泄漏警告
我確實有記憶警告,我不知道該怎麼辦?
這是屬性的聲明方式
@property (nonatomic) ABAddressBookRef addressBook;
我釋放,在課程的dealloc
-(void)dealloc
{
[[NSNotificationCenter defaultCenter]removeObserver:self];
CFRelease(_addressBook);
}
我們得到的警示是:
/business/Dropbox/badgers/RecentContact/RCABAddressBookHandler.m:52:1: Potential leak of an object
/business/Dropbox/badgers/RecentContact/RCABAddressBookHandler.m:51:23: Call to function 'ABAddressBookCreate' returns a Core Foundation object with a +1 retain count
/business/Dropbox/badgers/RecentContact/RCABAddressBookHandler.m:52:1: Object leaked: allocated object is not referenced later in this execution path and has a retain count of +1
你能發表這個嗎? ABAddressBookCreate();你在使用ARC嗎? –
詳細描述你所得到的記憶警告。這是一個低內存警告發送到您的應用程序?靜態分析後的內存警告?使用儀器檢測到內存泄漏? –
是的,我正在使用ARC。添加的內存警告: –