我正在我的新应用中使用Swift。在这里,我尝试从AddressBook访问电子邮件id。一切看起来都很好,但最终我变得不受管理!来自ABMultiValueCopyValueAtIndex(多,0)。
那么,如何转换或提取其中的字符串呢?
提前感谢!
发布于 2014-07-16 19:43:10
试试这个:
let str = yourVar.takeRetainedValue() as String发布于 2015-08-11 16:37:20
let value : String? = ABMultiValueCopyValueAtIndex(multivalue, 0).takeRetainedValue() as? String发布于 2017-07-14 20:00:39
尝试使用此函数将非托管转换为Stirng
func convertCfTypeToString(cfValue: Unmanaged<AnyObject>!) -> String?{
let value = Unmanaged.fromOpaque(
cfValue.toOpaque()).takeUnretainedValue() as CFString
if CFGetTypeID(value) == CFStringGetTypeID(){
return value as String
} else {
return nil
}
}用法:
let value = convertCfTypeToString(cfValue: ABMultiValueCopyValueAtIndex(multivalue, 0))https://stackoverflow.com/questions/24779834
复制相似问题