Swift - 无法将类型 'UnsafePointer<Any>' 的值转换为预期的参数类型 'UnsafePointer<_>'

标签 swift pointers encryption types commoncrypto

我第一次尝试快速使用 CommonCrypto(在 https://github.com/sergejp/CommonCrypto 的帮助下)。这是我的代码:

UnsafeRawPointer(ivData!.withUnsafeBytes
{(pointer) -> UnsafePointer<Any> in
    let ivBuffer = pointer
})

错误是:

Cannot convert value of type 'UnsafePointer' to expected argument type 'UnsafePointer<_>'

<_> 是什么意思?表示?我需要做什么?谢谢。

最佳答案

它提示的是指针。你需要施放它。这是一个示例用法,是创建 MD5 哈希的一部分:

    var rawBytes = [UInt8](repeating: 0, count: Int(CC_MD5_DIGEST_LENGTH))
    let _ = data.withUnsafeBytes { (bytes: UnsafePointer<UInt8>) in
        CC_MD5(bytes, CC_LONG(data.count), &rawBytes)
    }

关于Swift - 无法将类型 'UnsafePointer<Any>' 的值转换为预期的参数类型 'UnsafePointer<_>',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47641491/

相关文章:

c++ - 为什么 std::async 不能与接收抽象类引用作为参数的函数一起使用?

java - 我如何解密和加密 Java 程序的 Joomla 用户密码?

swift - 如何制作可以移动到另一个 View 的导航栏

arrays - 快速从 TableView 列表中删除多个项目

c++ - boost 共享指针 C++ : shared pointer unable to free resource on release

c - 将字符串数组的地址传递给函数

c# - 如何在javascript中加密url并在c#中解密

json - 混淆来自网络服务器的json

swift - 更改静态变量

ios - 如何在 Swift 中将代理对转换为 Unicode 标量