Epi*_*yte 8 memory-management core-foundation ios automatic-ref-counting swift
刚刚更新到Xcode Beta 4,并注意到以下编译器错误,我的代码如下:
var path = CGPathCreateMutable()
...
CGPathRelease(path)
Run Code Online (Sandbox Code Playgroud)
'CGPathRelease'不可用:Core Foundation对象自动进行内存管理
所以,我只是删除我的发布电话,一切都应该没问题?还是有更多我想念的东西?ARC有什么特殊情况需要注意吗?
jtb*_*des 20
在与可可数据类型工作的部分用斯威夫特与可可和Objective-C说(重点煤矿):
核心Foundation对象从注释的API返回的自动内存管理Swift- 你不需要调用
CFRetain,CFRelease或CFAutorelease功能自己.如果返回的Core Foundation从自己的C函数和Objective-C方法的对象,标注他们用两种CF_RETURNS_RETAINED或CF_RETURNS_NOT_RETAINED....
当Swift导入尚未注释的API时,编译器无法自动内存管理返回的Core Foundation对象.Swift将这些返回的Core Foundation对象包装在一个
Unmanaged<T>结构中.
所以是的,除非你有一个Unmanaged结构,这是正确的,你不必担心手动释放对象.
| 归档时间: |
|
| 查看次数: |
4115 次 |
| 最近记录: |