मैं AddressBook ढांचे से इस समारोह की वापसी मान बदलने की आवश्यकता: प्रकार के एक मूल्य के लिएस्विफ्ट (iOS 8 एसडीके) कन्वर्ट अप्रबंधित <ABMultiValueRef> को ABMultiValueRef
ABRecordCopyValue(nil, kABPersonPhoneProperty)
ABMultiValueRef
इस समारोह वर्तमान में इस के रूप में चिह्नित किया गया है:
func ABRecordCopyValue(record: ABRecordRef!, property: ABPropertyID) -> Unmanaged<AnyObject>!
तो मैं तो जैसे अप्रबंधित को रूपांतरित कर सकते हैं:
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
मुझे एक ही त्रुटि है। मैं बुक रिकॉर्ड्स को क्रमबद्ध करने के साथ फंस गया हूं :( – Anton
मैंने सुना है कि ऐसा इसलिए है क्योंकि ऐप्पल अभी तक नहीं है (आईओएस 8 एसडीके बीटा 4 के रूप में) एड्रेसबुक फ्रेमवर्क पर CF_IMPLICIT_BRIDGING_ENABLED सक्षम है। –
ठीक है, अब मैं समझता हूं :( – Anton