【问题标题】:How to I cast a different type to a buffer in swift?如何快速将不同类型转换为缓冲区?
【发布时间】:2021-11-26 07:26:31
【问题描述】:

我正在尝试将 obj-c 代码转换为 swift,我遇到了这个问题,我有一个 UnsafeMutablePointer 类型的缓冲区,我需要将其转换为 UnsafeMutablePointer DSPComplex 是一个使用存储数据的结构有序的浮点数对。

下面是obj-c代码:

float *dataBuffer

(COMPLEX *)dataBuffer

【问题讨论】:

    标签: ios swift objective-c mobile


    【解决方案1】:

    试试这个怎么样?

    // UnsafeMutableRawPointer is C style raw array. 
    // UnsafeMutablePointer is array of specific type.
    // Convert UnsafeMutableRawPointer to UnsafeMutablePointer : 
    let ptr = rawPtr.assumingMemoryBound(to: Int16.self)
    let ptr = rawPtr.assumingMemoryBound(to: COMPLEX.self)
    

    苹果文档:https://developer.apple.com/documentation/swift/unsafemutablerawpointer/2428188-assumingmemorybound

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-06-05
      • 2021-01-14
      • 1970-01-01
      • 1970-01-01
      • 2022-11-04
      • 2022-08-05
      • 2020-04-26
      • 2016-03-09
      相关资源
      最近更新 更多