如何在 Swift 2.3 中将 UInt8 转换为 Anyobject
Posted
技术标签:
【中文标题】如何在 Swift 2.3 中将 UInt8 转换为 Anyobject【英文标题】:How to Convert UInt8 to Anyobject in Swift 2.3 【发布时间】:2016-10-18 10:06:24 【问题描述】:我正在尝试 CryptoSwift,我尝试将 UInt8 转换为 Anyobject。
如何转换
让加密:[UInt8]!
encrypted = try AES(key: value, iv: iv, blockMode: .CBC, padding: PKCS7()).encrypt(myArray)
let mynObject:AnyObject = encrypted as! AnyObject
无法将“Swift.Array>”(0x11a6062e8)类型的值转换为“Swift.AnyObject”(0x119d3d018)。
感谢任何人的帮助
谢谢
【问题讨论】:
显示您的代码。 @vadian:我更新问题 最好避免使用 CryptoSwift,除此之外,它比基于 Common Crypto 的实现慢 500 到 1000 倍。 Apple 的 Common Crypto 已通过 FIPS 认证,因此经过严格审查,使用 CryptoSwift 在正确性和安全性方面是有机会的。 参见 SO 文档中的 AES encryption in CBC mode 以获取示例代码。 【参考方案1】:示例
let anInt:UInt8 = 20
let anObject:AnyObject = anInt as AnyObject
您要注意的关键部分是anInt as AnyObject
,这是您将 Uint8 转换为 AnyObject 的方式。
【讨论】:
这里为什么需要as!
?这种向上转型总是会成功的。
谢谢,我更新了这个问题。你能帮忙吗
因为 OP 没有上传他的代码,如果变量没有类型,这会更安全。但现在我知道它确实删除了!谢谢:)以上是关于如何在 Swift 2.3 中将 UInt8 转换为 Anyobject的主要内容,如果未能解决你的问题,请参考以下文章
在 Swift 中将两个字节的 UInt8 数组转换为 UInt16