【发布时间】:2016-06-23 07:15:42
【问题描述】:
我正在制作ro sham bo 游戏。 swift 中的函数与我之前使用的不同。我不断收到错误消息:
在函数中初始化之前使用的变量
我做错了什么?
import Foundation
import UIKit
class Result: UIViewController {
var rval: Int?
var chosen: Int?
func determineWinner() -> Int {
var returnval: Int
if (chosen == rval){
returnval = 2
}
else if (chosen == 1 && rval == 3){
returnval = 1
}
else if (chosen == 1 && rval == 2){
returnval = 0
}
else if (chosen == 2 && rval == 1){
returnval = 1
}
return (returnval)
}
@IBOutlet weak var wl: UILabel!
@IBAction func PlayAgain(sender: AnyObject) {
}
override func viewDidLoad() {
print(chosen)
}
}
【问题讨论】:
-
哪个变量?代码在哪里?
-
如果没有一个 if 语句匹配,则 returnval 没有值,这就是错误的原因。
-
如果函数中没有任何 if-else 语句触发怎么办?在这种情况下,您希望它返回什么?您需要为
returnval提供某种形式的默认值,或者让您的函数返回一个可选值。 -
改进的代码格式;澄清措辞并提供游戏链接。
-
如果回答了您的问题,请记得投票并接受答案。