gpt4 book ai didi

ios - 为什么不可能附加一个字符串!通过 += 运营商?

转载 作者:搜寻专家 更新时间:2023-10-31 22:50:47 28 4
gpt4 key购买 nike

正如标题所说,我正在尝试通过 += 运算符将文本附加到隐式解包的可选字符串,这给了我

'String!' is not identical to 'UInt8'

让你明白我的意思:

var myString: String = "Hello "
myString += "world" // works great

var myOptionalString: String! = "Foo "
myOptionalString += " bar" // error: String! is not identical to 'UInt8'

但是,如果我在作业有效时附加它<​​/p>

var myOptionalString: String! = "Foo "
myOptionalString = myOptionalString + " bar" // works great

谁能告诉我这是什么原因,或者我在可选项中遗漏了什么?

更新

mySecondOpString: String? = "Hello "
mySecondOpString! += "world" // works great too

最佳答案

字符串!是隐式展开的可选类型,它是可选类型的特例。

你可能知道字符串!与 String 不同。所以当你写:

var myOptionalString: String! = "Foo "
myOptionalString += " bar" // error: String! is not identical to 'UInt8'

它将尝试使用 String 查找 += 运算符!它不能,因此是错误的。

如果你明确地打开它(你可以说它违背了目的)工作:

 myOptionalString! += " bar"

关于ios - 为什么不可能附加一个字符串!通过 += 运营商?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29298121/

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