2016-10-31 10 views

答えて

1

UnsafeRawPointerをUnsafePointerに移行するには、いくつかの方法があります。私が最も使用されてきた一つがされています:

UnsafePointer.withMemoryRebound(to:capacity:_) 
あなたは上記を使用することができるはず

、またはあなたが必要なものを行うには、次のページに記載された他のいずれかの方法:

https://swift.org/migration-guide/se-0107-migrate.html

+0

あなたはバイトのNSDataのデータを持っている場合ので、たとえば、どのようにあなたがUnsafePointerを得るのですか? – PhiceDev

+0

IOHIDDeviceSetReport(HidInterface、kIOHIDReportTypeOutput、reportId、(NSDataとしてのデータ).bytes.bindMemory(to:UInt8.self、capacity:data.length)、data.length); – PhiceDev

0

レポートにDataの値が指定されている場合は、 withUnsafeBytes()メソッドを使用してバイトにアクセスできます。 バイトに を指すUnsafePointer<T>引数でクロージャが呼び出されます。ここでは、コンパイラが自動的に reportパラメータの種類からUInt8としてTを推測することができます。

let result = data.withUnsafeBytes { 
    IOHIDDeviceSetReport(device, type, reportID, $0, data.count) 
} 
関連する問題