-(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