swift 3 中的核心基础
Core Foundation in swift 3
我在swift3中使用CF类,想好好管理一下。例如我有这一行:
let phones = ABRecordCopyValue(person, kABPersonPhoneProperty).takeRetainedValue()
通常当我在 objc 中使用地址簿 类 时,每当我调用名称中有副本的方法时,我需要在使用完该对象后调用 CFRelease()
。
现在 swift 我有 4 个选项可以调用
takeRetainedValue()
takeUnretainedValue()
retain()
autorelease()
但是没有release()
。所以如果我想在 swift 中使用 CF 对象然后释放它,我应该使用其中的哪一个?
对 takeRetainedValue()
的调用将所有权转移给 ARC,消耗一个保留。这会处理您调用 release
.
的需要
我在swift3中使用CF类,想好好管理一下。例如我有这一行:
let phones = ABRecordCopyValue(person, kABPersonPhoneProperty).takeRetainedValue()
通常当我在 objc 中使用地址簿 类 时,每当我调用名称中有副本的方法时,我需要在使用完该对象后调用 CFRelease()
。
现在 swift 我有 4 个选项可以调用
takeRetainedValue()
takeUnretainedValue()
retain()
autorelease()
但是没有release()
。所以如果我想在 swift 中使用 CF 对象然后释放它,我应该使用其中的哪一个?
对 takeRetainedValue()
的调用将所有权转移给 ARC,消耗一个保留。这会处理您调用 release
.