Macos Swift2:初始化不可配置指针的正确方法<;非托管<;CFMutableDictionary>&燃气轮机;要传递给IORegistryEntryCreateCFProperties的参数
好的,在Swift 2中,Macos Swift2:初始化不可配置指针的正确方法<;非托管<;CFMutableDictionary>&燃气轮机;要传递给IORegistryEntryCreateCFProperties的参数,macos,swift,swift2,iokit,Macos,Swift,Swift2,Iokit,好的,在Swift 2中,IORegistryEntryCreateCFProperties的定义是 func IORegistryEntryCreateCFProperties(entry: io_registry_entry_t, _ properties: UnsafeMutablePointer<Unmanaged<CFMutableDictionary>?>, _ allocator: CFAllocator!, _ options: IOOptionBits)
IORegistryEntryCreateCFProperties
的定义是
func IORegistryEntryCreateCFProperties(entry: io_registry_entry_t, _ properties: UnsafeMutablePointer<Unmanaged<CFMutableDictionary>?>, _ allocator: CFAllocator!, _ options: IOOptionBits) -> kern_return_t
func IORegistryEntryCreateCFProperties(条目:io\u registry\u entry\u t,\u属性:UnsafeMutablePointer,\u分配器:CFAllocator!,\u选项:IOOptionBits)->kern\u return\t
我能行
var dict: UnsafeMutablePointer<Unmanaged<CFMutableDictionary>?> = nil
kr = IORegistryEntryCreateCFProperties(box as io_registry_entry_t, dict, kCFAllocatorDefault, nilOptions)
var dict:UnsafeMutablePointer=nil
kr=IORegistryEntryCreateCFProperties(框为io\U注册表项、dict、kCFAllocatorDefault、NILPOPTIONS)
它编译并运行。当然,它在执行
ioRegistryEntryCreateCProperties
时崩溃,因为dict
被初始化为nil
。我的问题是如何将dict
初始化为非零值?我尝试过各种方法,但都没有成功。类型的参数
UnsafeMutablePointer<Unmanaged<CFMutableDictionary>?>
Unmanaged<CFMutableDictionary>?
var props : Unmanaged<CFMutableDictionary>?
if IORegistryEntryCreateCFProperties(entry, &props, kCFAllocatorDefault, 0) == KERN_SUCCESS {
if let props = props {
let dict = props.takeRetainedValue() as NSDictionary
print(dict)
}
}