gpt4 book ai didi

ios - 二元运算符 '+' 不能应用于类型 'String' 和“字符串感叹号”的操作数

转载 作者:行者123 更新时间:2023-11-30 12:04:06 29 4
gpt4 key购买 nike

我正在生成一个二维码,其中包含在注册表中输入的用户姓名、电子邮件和电话号码。在 RegistrationVC 中,我使用了 userdefaults 来保存所有这 3 个字段。现在在我的 QRGenerate VC 中,在用户默认的帮助下我想生成 QR 代码,但抛出错误

Binary operator '+' cannot be applied to operands of type 'String' and 'String!".

我将所有三个键传递给一个字符串(即 qrgeneratestring)并生成 QRCodes。

phoneKeyValue = UserDefaults.standard.string(forKey: "phoneKey")
nameKeyValue = UserDefaults.standard.string(forKey: "nameKey")
emailidKeyValue = UserDefaults.standard.string(forKey: "emailIDKey")
var qrgeneratestring = nameKeyValue + emailidKeyValue + phoneKeyValue


if qrgeneratestring.isEmpty == false{
let ciImageFromQRCode = generateQRCodeFromString(strQR: qrgeneratestring)
let scaleX = (imgViewQRCode.frame.size.width / ciImageFromQRCode.extent.size.width)
let scaleY = (imgViewQRCode.frame.size.height / ciImageFromQRCode.extent.size.height)
let imgTransformed = ciImageFromQRCode.applying(CGAffineTransform(scaleX: scaleX, y: scaleY))
imgViewQRCode.image = UIImage(ciImage: imgTransformed)

}

enter image description here

最佳答案

string(forKey 返回一个可选的,您需要解开三个值,并且必须将变量声明为非可选

var phoneKeyValue = ""
var nameKeyValue = ""
var emailidKeyValue = ""

let defaults = UserDefaults.standard
phoneKeyValue = defaults.string(forKey: "phoneKey") ?? ""
nameKeyValue = defaults.string(forKey: "nameKey") ?? ""
emailidKeyValue = defaults.string(forKey: "emailIDKey") ?? ""

关于ios - 二元运算符 '+' 不能应用于类型 'String' 和“字符串感叹号”的操作数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46867078/

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