gpt4 book ai didi

swift - 二元运算符 '??' 不能应用于类型 'AnyObject?' 和 'String' 的操作数

转载 作者:搜寻专家 更新时间:2023-11-01 06:18:04 26 4
gpt4 key购买 nike

我用 Swift 2.2 完成了下面的代码,但是当切换到 Swift 3.0 时,在 if 条件“二元运算符 '??' 时出现错误不能应用于“AnyObject?”类型的操作数和‘字符串’”

if let custID = dataDict["cust_id"] ?? "",
let custName = dataDict["cust_name"] ?? "",
let fileName = dataDict["filename"] ?? "",
let transNumber = dataDict["trans_no"] ?? "" {

linesheet_custID = (custID["text"] ?? "" ) as! String
linesheet_custName = (custName["text"] ?? "" ) as! String
linesheet_filename = (fileName["text"] ?? "" ) as! String
linesheet_TransNumber = (transNumber["text"] ?? "" ) as! String
}

请提出解决方案,如上面代码中的 if let 语句,如果字典值返回 nil,则我将空白字符串指定为 ("") 用于特定键

最佳答案

您应该将从字典中获得的值转换为可选字符串。

例如:

let custID = (dataDict["cust_id"] as String?) ?? ""

关于swift - 二元运算符 '??' 不能应用于类型 'AnyObject?' 和 'String' 的操作数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39871583/

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