【发布时间】:2016-09-15 15:40:01
【问题描述】:
我有以下用 Swift 2.2 编写的代码:
let keyData = NSMutableData(length: 64)!
SecRandomCopyBytes(kSecRandomDefault, 64, UnsafeMutablePointer<UInt8>(keyData.mutableBytes))
XCode 8 突出显示第二行并声称
无法调用类型为“UnsafeMutablePointer<_>”的初始化程序 '(UnsafeMutableRawPointer)' 类型的参数列表
虽然感谢 XCode 告诉我这一点,但我不太明白如何将 UnsafeMutableRawPointer 更改为可接受。
有人知道如何将此代码转换为 Swift 3 吗?
【问题讨论】:
-
我也遇到了这个问题。你找到解决办法了吗?
-
为了避免重复,这是我的问题,和你的很相似。希望有人能和你一起回答我的问题。
Cannot invoke initializer for type 'UnsafePointer<_>' with an argument list of type '(UnsafeMutableRawPointer?)' -
除了 OOper 的回答,不。在你的情况下你必须使用 NSMutableData 吗?
-
试试这个solution。我刚刚用这个解决方案解决了我的问题。