我正在学习iOS编程。我什么时候使用CFRelease?
我写了关联地址的代码。
有这么多的方法。像
我正在分组。
这里是1组
ABAddressBookCreate();
ABRecordCopyCompositeName(argument);
ABRecordCopyValue(argument1, argument2);
ABRecordCopyValue(argument1, argument2);
ABMultiValueCopyLabelAtIndex(argument1, argument2);
ABMultiValueCopyValueAtIndex(argument1, argument2);
,另外一个就在这里,第2组
CFArrayGetCount(argument);
CFArrayGetValueAtIndex(argument1, argument2);
ABMultiValueGetCount(argument);
我知道有很多其他的方法。
但我不知道什么时候使用CFRelease方法。
我认为第2组的所有方法不做CFRelease
因为包含单词“获取”,没有分配。
,我认为1组的所有方法必须使用CFRelease
,因为有一个字符串“副本”。
我有一本书。
但是有两次使用CFRelease。
一个是释放ABAddressBookCreate()
另一个是ABAddressBookCopyPeopleWithName。
所有其他的东西都不使用CFRelease。
所以我想知道我什么时候使用CFRelease。
请告诉我什么时候使用CFRelease。
嘿,我有同样的问题。我可能以错误的方式发布了一些Core Foundation对象。我想问我如何调试每个对象的保留计数,并确定我可以释放它。 – Sosily 2013-11-19 09:20:44
运行静态分析器并检查每个复制,创建或保留的对象是否正确释放。 – graver 2013-11-19 10:27:38
谢谢你!现在没事了! – Sosily 2013-11-19 11:09:47