Swift3 SWIFT 3的核心基础

Swift3 SWIFT 3的核心基础,swift3,core-foundation,Swift3,Core Foundation,我在swift 3中使用CF类,并希望正确管理它们。例如,我有一行: let phones = ABRecordCopyValue(person, kABPersonPhoneProperty).takeRetainedValue() 通常,当我在objc中使用地址簿类时,每当我调用名为copy的方法时,我需要在使用完该对象后调用CFRelease 现在在swift中,我有4种选择 takeRetainedValue() takeUnretainedValue() retain() autor

我在swift 3中使用CF类,并希望正确管理它们。例如,我有一行:

let phones = ABRecordCopyValue(person, kABPersonPhoneProperty).takeRetainedValue()
通常,当我在objc中使用地址簿类时,每当我调用名为copy的方法时,我需要在使用完该对象后调用CFRelease

现在在swift中,我有4种选择

takeRetainedValue()
takeUnretainedValue()
retain()
autorelease()

但没有释放。所以,如果我想在swift中使用CF对象,然后释放它,我应该使用哪一个

调用takeRetainedValue将所有权转移给ARC,使用一个retain。这可以满足您调用release的需要。

也许使用Contact.framework更合理。不幸的是,我需要支持iOS8