fatal error: unexpectedly found nil while unwrapping an Optional value with toInt()

fatal error: unexpectedly found nil while unwrapping an Optional value with toInt()

当我 运行 我的代码时,我收到标题中的错误。主要问题出现在下面的代码中。我真的不明白发生了什么。我开始(并完成)这个项目是为了在测试期间在 swift 中制作宾果游戏跟踪器,但显然语法发生了变化或发生了什么。我更喜欢简单的修复,并解释为什么我的解决方案不再有效。我提供了我所有的代码,如果没有人重用它我将不胜感激,但我真的不能阻止你。感谢您的帮助。

if ((newCardB1?.text.toInt()) != nil) // this is not nil
    {
        println(newCardB1?.text); // this prints out "Optional("1") when i run it but i only want the 1
    }
    else
    {
        println("error" );
    }
    let B1: Int = "\(newCardB1?.text)".toInt()!; //this is where the problem starts
    let B2: Int = "\(newCardB2?.text)".toInt()!;

PS:我对 swift 的编程经验有限,但对 Java 的编程经验很多。任何关于来回切换的提示也将不胜感激,并随时提出任何其他问题或错误的编码技术,以便我能够修复它们。

将类型为 let B1: Int = "(newCardB1?.text)".toInt()!; 的所有语句更改为此模板:让 B1: Int = (newCardB1?.text)!.toInt()!。原因是:newCardB1?.text 已经是字符串了。如果您使用“()”对其进行插值,我不确定它会在哪里结束。还要注意!在(newCardB1?.text)!没有它,代码将无法编译。

从你的风格来看,很明显你来自Java。 Swift 中很少需要分号。除此之外风格还不错。也许有点冗长。