在Swift 5中不推荐使用'withUnsafeMutableBytes'

时间:2019-11-14 12:28:52

标签: ios deprecated swift5

我正在使用下面的代码块,它工作正常。很快,我得到以下不建议使用的警告:

  

'withUnsafeMutableBytes'已弃用:使用   改为withUnsafeMutableBytes<R>(_: (UnsafeMutableRawBufferPointer) throws -> R) rethrows -> R

data.withUnsafeMutableBytes { (dataBytes: UnsafeMutablePointer<UInt8>) -> Void in
            _ = CCRandomGenerateBytes!(dataBytes, size)
 }

如何避免此警告。

2 个答案:

答案 0 :(得分:1)

您应该使用:

data.withUnsafeBytes { $0.load(as: UInt8.self) }

您还可以使用以下命令生成随机的UInt8:

UInt8.random(in: .min ... .max)

答案 1 :(得分:1)

您可以尝试一下。

data.withUnsafeMutableBytes { (ptr) in
        if let rawPtr = ptr.baseAddress {
            let _ = CCRandomGenerateBytes(rawPtr, size)
        }
    }