我想要的是使用swift将RSA
Sec
密钥转换为base64
编码的字符串。所以我initialized
变量如下,
var publicKeyBits = Unmanaged<AnyObject>?()
然后它给出了
无法为Unmanaged调用初始值设定项?没有参数 在快速
我想隐藏我的publickey
,如下所示
var publicKeyBits = Unmanaged<AnyObject>?()
SecItemCopyMatching(queryAttrs, &publicKeyBits)
let opaqueBits = publicKeyBits?.toOpaque()
let publicKeyData = Unmanaged<NSData>.fromOpaque(opaqueBits).takeUnretainedValue()
let publicKeyBase64 = publicKeyData.base64EncodedData(NSDataBase64EncodingOptions.Encoding64CharacterLineLength)
错误。任何想法。
答案 0 :(得分:0)
您需要检查Unmanaged类的初始化,可能有一些初始化参数。
plotOptions: {
series: {
cursor: 'pointer',
point: {
events: {
click: function() {
console.log(this);
alert('Category: '+ this.category +', value: '+ this.y + 'Series: ' + this.series.name + ' ID: ' + this.config[2])
}
}
}
}
},
答案 1 :(得分:0)
SecItemCopyMatching
被声明为
public func SecItemCopyMatching(_ query: CFDictionary,
_ result: UnsafeMutablePointer<CFTypeRef?>?) -> OSStatus
所以你必须传递一个CFTypeRef?
的地址作为inout参数。
(在早期的Swift版本中,此函数返回了一个非托管对象,
情况不再如此。)
您将项目检索为CFTypeRef
(AnyObject
的类型),然后将其转换为实际类型。例如:
var result: CFTypeRef?
let status = SecItemCopyMatching(queryAttrs, &result)
if status == errSecSuccess {
if let publicKeyData = result as? Data {
let base64 = publicKeyData.base64EncodedString()
}
}