【问题标题】:consecutive statements on a line must be separated by '; ' swift一行中的连续语句必须用'; ' 迅速
【发布时间】:2016-07-12 11:26:11
【问题描述】:

您好,我正在尝试制作一个可以将人类年数转换为猫年数的应用程序,但我在点击显示猫年数的按钮时遇到了一些问题。

@IBAction func findAge(_ sender: AnyObject) {
    var enteredAge = age.text
    var myInt: 13 = int(enteredAge)
    var catYears = enteredAge * 7
    print(age.text) 
}

var myInt: 13 = int(enteredAge) 上我收到 2 个错误,一个是这个问题的标题,另一个是“预期类型”我目前正在运行 xcode 8 beta。

【问题讨论】:

标签: ios swift swift2 xcode7 xcode8


【解决方案1】:

var myInt : Int = Int(enteredAge) ; 错误对于快速调试非常无用,但正如 El Captain 所指出的,Swift 中 : 后面的信息应该是 Object Type。

【讨论】:

  • 我不是很有经验,这实际上是我的第一个项目,所以如果你能告诉我我应该怎么做才能让它发挥作用,因为我已经尝试了一切,但我所做的似乎无济于事
  • nothing i do seems to help阅读 Swift 手册会有所帮助。我已经给你链接了。
  • 我给你的那行解决了你发布的错误。正如埃里克所说,你需要阅读。除了 Swift 手册之外,Google 或 StackOverflow 也可以根据您的需要搜索每个问题 - 大多数问题已经在此处某处得到解答。
  • 我正在观看本指南或来自 Udemy 的任何内容,只是我认为它已过期,但我已经得到它,我不想觉得我在浪费钱。感谢您的链接
  • @Gh0st 当心sunk costs fallacy... 如果你买了一个糟糕/过时的教程,那就放手吧。 :) 无论如何,请研究我链接的文档,其中包含您需要了解的关于 Swift 的所有内容
【解决方案2】:

您的代码中有几个问题...(强制转换,检查选项)...所以这里有一些逻辑问题..这里有一些解决方法

if let enteredAge = age.text, myInt = Int(enteredAge) {
     //... success...
     let catYears = myInt * 7  // myInt gives you Int value , enteredAge returns String 
     print(catYears)
}
else{
     //.... handle nil  ....  
}

【讨论】:

    【解决方案3】:

    首先,我想说你应该看看 El Captain 和 Eric D 已经说过的话。

    要回答您的问题,请输入以下代码:

    var myInt: 13 = int(enteredAge)
    

    应该是:

    var myInt = Int(enteredAge)
    

    这将消除您的警告。然而,有一些明确的逻辑问题可以[以多种方式,但最简单的方式]解决,如下所示:

    @IBAction func findAge(_ sender: AnyObject) {
        let enteredAge = age.text
        let myInt = Int(enteredAge)
        let catYears = myInt * 7
        print(catYears) 
    }
    

    【讨论】:

      猜你喜欢
      • 2023-03-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多