【问题标题】:How can I cast UnsafePointer<UnsafeMutablePointer<Float>>? to UnsafeMutablePointer<UnsafeMutablePointer<Float>?>!如何转换 UnsafePointer<UnsafeMutablePointer<Float>>?到 UnsafeMutablePointer<UnsafeMutablePointer<Float>?>!
【发布时间】:2018-03-12 07:33:50
【问题描述】:

我有一个需要在 Swift 中与之交互的 C API。 其中一个函数将指针数组作为参数,由 Swift 导入为

  `UnsafeMutablePointer<UnsafeMutablePointer<Float>?>! `

Swift端对应的输入是AVAudioPCMBuffer.floatChannelData,定义为

UnsafePointer&lt;UnsafeMutablePointer&lt;Float&gt;&gt;?

我无法在两者之间进行投射。 我尝试通过执行以下操作使其可变:

UnsafeMutablePointer<UnsafeMutablePointer<Float>>(AVAudioPCMBuffer.floatChannelData)

那没有用。 Swift 指针类型之间的转换非常令人沮丧。任何帮助将不胜感激。

谢谢

【问题讨论】:

    标签: ios unsafemutablepointer


    【解决方案1】:
    var testPtr : UnsafeMutablePointer<UnsafeMutablePointer<Float>?>! = nil
    var testPtr2 : UnsafePointer<UnsafeMutablePointer<Float>>? = nil
    
    testPtr = unsafeBitCast( testPtr2, to: UnsafeMutablePointer<UnsafeMutablePointer<Float>?>!.self)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-11
      • 2019-12-08
      • 1970-01-01
      • 1970-01-01
      • 2018-08-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-15
      相关资源
      最近更新 更多