gpt4 book ai didi

ios - NSString 到 String 抛出 "fatal error: unexpectedly found nil while unwrapping an Optional value"

转载 作者:行者123 更新时间:2023-11-28 13:11:42 25 4
gpt4 key购买 nike

以下 Swift 代码在 return 语句上崩溃并出现以下错误:

fatal error: unexpectedly found nil while unwrapping an Optional value

根据调试器,结果变量具有非空值。我真的希望函数接受字符串并返回一个字符串,而不是 NSData。希望这是一个愚蠢的问题,我只是没有看到它。坚持了几个小时!

println(hmac_sha256("sample_data", inKey: "sample_key"))

func hmac_sha256(inData: String, inKey: String) -> (String) {

let data: NSData = inData.dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: false)!
let key: NSData = inKey.dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: false)!

var result = NSMutableData(length: Int(CC_SHA256_DIGEST_LENGTH))

CCHmac(CCHmacAlgorithm(kCCHmacAlgSHA256), key.bytes, size_t(key.length), data.bytes, size_t(data.length), result!.mutableBytes)

return NSString(data: result!, encoding: NSUTF8StringEncoding) as! String
}

最佳答案

您不能指望能够将任意数据转换为具有 UTF-8 编码的 NSString。例如,UTF-8 永远不会包含字节 0xff,因此包含该字节值的数据永远不会变成 NSString。

所以无论你多么想得到一个NSString,你都得不到。

关于ios - NSString 到 String 抛出 "fatal error: unexpectedly found nil while unwrapping an Optional value",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31060347/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com