swift – 如何在OS X目标中创建CFDictionary?
发布时间:2020-12-14 04:35:09 所属栏目:百科 来源:网络整理
导读:根据 documentation CFDictionaryCreate用于在swift中实例化CFDictionary. func CFDictionaryCreate(_ allocator: CFAllocator!,_ keys: UnsafeMutablePointerUnsafePointerVoid,_ values: UnsafeMutablePointerUnsafePointerVoid,_ numValues: CFIndex,_ ke
根据
documentation CFDictionaryCreate用于在swift中实例化CFDictionary.
func CFDictionaryCreate(_ allocator: CFAllocator!,_ keys: UnsafeMutablePointer<UnsafePointer<Void>>,_ values: UnsafeMutablePointer<UnsafePointer<Void>>,_ numValues: CFIndex,_ keyCallBacks: UnsafePointer<CFDictionaryKeyCallBacks>,_ valueCallBacks: UnsafePointer<CFDictionaryValueCallBacks>) -> CFDictionary! 如何创建键和值参数? import Foundation var keys : [String] = ["key1","key2"] var values : [String] = ["value1","value2"] var keyCallbacks = kCFTypeDictionaryKeyCallBacks var valueCallbacks = kCFTypeDictionaryValueCallBacks var dict : CFDictionary = CFDictionaryCreate(kCFAllocatorDefault,&keys,&values,2,&keyCallbacks,&valueCallbacks) 不幸的是我收到一个错误,说String不是键和值数组元素的正确类型: main.swift:41:2: error: 'String' is not identical to 'UnsafePointer<Void>' &configKeys,&configValues,3,&valueCallbacks) 如何制作UnsafePointer< Void>来自String? 解决方法
对于Swift 3,您需要额外投射到CFDictionary.
否则,上下文类型’CFDictionary’不能与字典文字一起使用. let options: CFDictionary = [kSecImportExportPassphrase as String : "certificateKey"] as CFDictionary 有关更多信息,请参见https://bugs.swift.org/browse/SR-2388 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |