Swift如果程序

Swift If program

仍然是初学者,只是玩弄了 swift 中的一些基本功能。

有人能告诉我这段代码有什么问题吗?

import UIKit

var guessInt: Int
var randomNum = arc4random_uniform(10)

if Int(randomNum) == guessInt {
  println ("correct")
}  else {
  println; "no, the number is not. guess again"
}

到目前为止,我遇到的唯一错误是

guessInt

初始化前正在使用! 我已尝试重新输入所有内容,但仍然出现相同的错误。

提前致谢。

在 Swift 中,您无法在设置之前读取值,您正在此处执行此操作:

if Int(randomNum) == guessInt

如果您从此更改您的声明:

var guessInt:Int 

对此:

var guessInt = 6

那么您的代码将按预期工作(假设您希望用户的猜测是 6)。

您已声明 guessInt,但现在您需要初始化,或将其设置为某个初始值。

例如:

let guessInt = 3

另一种选择是将guessInt 声明为"Optional",这意味着它可以是nil,实际上它会被初始化为nil。这将打印 "no, ....",直到您将 guessInit 分配给 arc4random_uniform(10) 生成的值范围内的非 nil 值,但它会编译并干净地 运行。

var guessInt:Int?   // note the ? after Int this marks it as an Optional
var randomNum = arc4random_uniform(10)
if Int(randomNum) == guessInt {
  println ("correct")
}  else {
  println; "no, the number is not. guess again"
}