0

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) 

    ...      

  }
}

助けてくれてありがとう。

4

0 に答える 0