我什么时候使用CFRelease?
我正在学习iOS编程。
我写了关联地址的代码。
有很多方法。 喜欢
我正在分组。
这里是group1
ABAddressBookCreate(); ABRecordCopyCompositeName(argument); ABRecordCopyValue(argument1, argument2); ABRecordCopyValue(argument1, argument2); ABMultiValueCopyLabelAtIndex(argument1, argument2); ABMultiValueCopyValueAtIndex(argument1, argument2);
另一个就在这里,group2
CFArrayGetCount(argument); CFArrayGetValueAtIndex(argument1, argument2); ABMultiValueGetCount(argument);
我知道有很多其他的方法。
但我不知道什么时候使用CFRelease方法。
我认为group2的所有方法都不做CFRelease
因为包含单词“Get”,没有分配。
我认为group1的所有方法都必须使用CFRelease
因为有一个string“复制”。
我有一本书。
但是有两次使用了CFRelease。
一个是发布ABAddressBookCreate()
另一个是ABAddressBookCopyPeopleWithName。
所有其他的东西都不使用CFRelease。
所以我想知道我什么时候使用CFRelease。
请告诉我什么时候使用CFRelease。
如果函数名称包含“复制”或“创build”,则您拥有该对象,因此在完成工作时必须将其释放。 这被称为“创build规则”。 有关Core Foundation的内存pipe理的更多信息,请参阅Core Management的“内存pipe理编程指南”
当你创build一个Core Foundation对象或者成为它的所有者时,你可以调用CFRelease
。
查看CFMemorypipe理文档
- SWIFT:错误EXC_BAD_INSTRUCTION
- 在文本属性字典中实例化UIFont时出错
- Spritekit将全部游戏扩展到iPad
- 尝试在variablesSwift 2中存储数组中的随机元素时出错
- 如何在iOS 10 UserNotifications上设置NSCalendarUnitMinute repeatInterval?
- CoreData:错误:严重的应用程序错误。 在Core Data更改处理期间捕获到exception
- 比较UIColors或CGColor或CGColorSpace
- 使用Geocoder更新属性来获取用户实际地址EXC_BAD_ACCESS
- iOS – 将数据传递给推送的viewcontroller