我使用以下代码在我的应用程序中初始化地址簿: -
@property(nonatomic,assign) ABAddressBookRef addressBookRef;
self.addressBookRef=ABAddressBookCreateWithOptions(NULL, NULL);
然而,xcode分析器给我以下信息: -
call to function 'ABAddressBookCreateWithOptions' returns a Core Foundation Object with a +1 retain count
现在,据我所知,我可以通过以下两种方法“删除”上述警告: -
addressBookRef
CFRelease
self.addressBookRef
,请在第二个语句中使用_addressBookRef
。然而,哪一个会更好,为什么?
答案 0 :(得分:2)
名称中包含create
的所有CoreFoundation API都会返回一个带有+1保留计数的CF对象。完成后,您需要release
新的CF对象。命名示例:
CFRelease(self.addressBookRef);
我强烈建议您也阅读此答案:iOS 6 Address Book not working?