ドキュメント によると、CFDictionaryCreate
で CFDictionary をインスタンス化するために使用されますswift
。
func CFDictionaryCreate(_ allocator: CFAllocator!,
_ keys: UnsafeMutablePointer<UnsafePointer<Void>>,
_ values: UnsafeMutablePointer<UnsafePointer<Void>>,
_ numValues: CFIndex,
_ keyCallBacks: UnsafePointer<CFDictionaryKeyCallBacks>,
_ valueCallBacks: UnsafePointer<CFDictionaryValueCallBacks>) -> CFDictionary!
keys
およびvalues
引数を作成するにはどうすればよいですか? これまでのところString
、適切な型に自動的に変換されることを期待して、swift の型を使用しようとしました。
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
の正しい型ではないというエラーが表示されます。keys
values
main.swift:41:2: error: 'String' is not identical to 'UnsafePointer<Void>'
&configKeys, &configValues, 3, &keyCallbacks, &valueCallbacks)
UnsafePointer<Void>
fromを作成するにはどうすればよいString
ですか?