2017-01-20 7 views
0

私はswift 3でCFクラスを使用し、それらを適切に管理したい。私は名前でコピーを持っているメソッドを呼び出すと、私は、そのオブジェクトの使用を終了した後CFRelease()を呼び出す必要がある時はいつでも、私は、背中にObjCでアドレス帳クラスを使用し、通常swiftのコア財団3

let phones = ABRecordCopyValue(person, kABPersonPhoneProperty).takeRetainedValue() 

:たとえば、私は、この行を持っています。

は今迅速に、私は

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

を呼び出すための4つのオプションを持っているしかし、誰release()はありません。だから私は迅速にCFオブジェクトを使用してそれをリリースしたい場合、これらのどれを使用するのですか?

+0

おそらく、代わりに 'Contact.framework'を使用する方が合理的です。 – holex

+0

残念ながら、私はiOS8をサポートする必要があります – MegaManX

答えて

1

takeRetainedValue()への呼び出しは、所有権をARCに転送し、1つを保持します。これによりreleaseに電話する必要があります。

関連する問題