作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
在 Objective-C 中,我可以这样做:
NSMutableData *data = [NSMutableData dataWithLength:length];
int result = SecRandomCopyBytes(kSecRandomDefault, length, data.mutableBytes);
在 Swift 中尝试此操作时,我有以下内容:
let data = NSMutableData(length: Int(length))
let result = SecRandomCopyBytes(kSecRandomDefault, length, data.mutableBytes)
但是我得到这个编译器错误:
'Void' is not identical to 'UInt8'
data.mutableBytes 参数被拒绝,因为类型不匹配,但我无法弄清楚如何强制参数(我假设这样做是安全的)。
最佳答案
这似乎有效:
let data = NSMutableData(length: Int(length))
let result = SecRandomCopyBytes(kSecRandomDefault, length, UnsafeMutablePointer<UInt8>(data.mutableBytes))
关于ios - Swift 语言 : How to call SecRandomCopyBytes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25517299/
我是一名优秀的程序员,十分优秀!