我正在从Swift中调用Objective-C类中的一个函数。
-(char *)decrypt:(char *)crypt el:(int)el{}
当从Swift调用此函数时,它要求将UnsafeMutablePointer<Int8>
作为参数'crypt'的值。
'crypt'的值来自服务器,是一个base64编码的字符串。因此,我对该字符串进行解码并获得了一个Data对象。
let resultData = Data(base64Encoded: base64String)
现在我需要将这个数据传递给上面提到的函数。我尝试将这个Data对象转换为UnsafeMutablePointer<Int8>
resultData?.withUnsafeBytes { (u8Ptr: UnsafeMutablePointer<Int8>) in
let decBytes = tea?.decrypt(u8Ptr , el: el)}
但它无法编译。出现以下错误:
'UnsafeMutablePointer' 无法转换为 'UnsafePointer<_>'
我对 Objective-C 不是很了解,所以有人能帮我将此参数传递给 Objective-C 函数吗?