gpt4 book ai didi

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

转载 作者:搜寻专家 更新时间:2023-10-30 21:52:08 25 4
gpt4 key购买 nike

我有一个不那么简单的简单 switch 语句。

switch(bubble?.name){ //bubble is SKPhysicsBody
case "largeBubble": // <= error
newBubbleSize = "medium"
break;
default:
newBubbleSize = "large"
break;
}

这里我得到了我在标题 Binary operator '~=' cannot be applied to operands of type 'String' and 'String?' 中提到的错误。我不知道为什么其中一个是可选的是个问题。

最佳答案

因为Optional Chaining , bubble?.name 的类型为 String?。您有几个选择:

  • 在您的 case 表达式中使用 "largeBubble"?(仅限 Swift 2+)。
  • 在执行 switch 之前检查 nil,因此 switch 参数将是 String 而不是 String?
  • 使用 bubble!.name(如果它是 SKPhysicsBody!,则使用 bubble.name)如果你绝对确定它不会为零

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

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