DiskArbitration を使用して、DADiskAppearedCallback である最初のコールバック関数をインストールしようとしていますが、次のエラーで DARegisterDiskAppearedCallback ステートメントでスタックしています:
「DeviceManager」は「UnsafeMutablePointer<()>」に変換できません
内部に配列を設定するには、DeviceManager インスタンスをコールバックに渡す必要があります...
これが私のコードです:
class DeviceManager {
var devices = [Device]()
func diskAppearedCallback(disk: DADisk!, context: UnsafeMutablePointer<()>) {
NSLog("Disk: \(DADiskGetBSDName(disk))")
// Create and Add a device here...
}
var callback = CFunctionPointer<(DADisk!, UnsafeMutablePointer<()>) -> Void>()
init() {
var session = DASessionCreate(kCFAllocatorDefault).takeRetainedValue()
DARegisterDiskAppearedCallback(session, kDADiskDescriptionMatchVolumeMountable, callback, self)
...
}
}
助けてくれてありがとう。