Swift (iOS 8 SDK) Преобразование неуправляемого <ABMultiValueRef> в ABMultiValueRef

Мне нужно преобразовать возвращаемое значение этой функции из структуры AddressBook:

ABRecordCopyValue(nil, kABPersonPhoneProperty)

к значению типа ABMultiValueRef

Эта функция в настоящее время помечена как это:

func ABRecordCopyValue(record: ABRecordRef!, property: ABPropertyID) -> Unmanaged<AnyObject>!

Так что я могу преобразовать его в Unmanaged следующим образом:

ABRecordCopyValue(person, kABPersonPhoneProperty) as Unmanaged<ABMultiValueRef>

Но тогда как я могу получить его как ABMultiValueRef, чтобы я мог передать его этой функции?

func ABMultiValueGetIndexForIdentifier(multiValue: ABMultiValueRef!, identifier: ABMultiValueIdentifier) -> CFIndex

Я сделал это:

let managedPhones = Unmanaged.fromOpaque(phones.toOpaque()).takeUnretainedValue() as ABMultiValueRef

И я продолжаю получать эту ошибку компилятора:

Bitcast requires both operands to be pointer or neither
%89 = bitcast %objc_object* %88 to %PSs9AnyObject_, !dbg !325
LLVM ERROR: Broken function found, compilation aborted!
Command /Applications/Xcode6-Beta3.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift failed with exit code 1

Ответы на вопрос(3)

Ваш ответ на вопрос