警卫读取零但是var等于某事

时间:2016-08-22 01:07:33

标签: swift switch-statement

我有一个全局var

var race: String?

垂直滚动视图中的7个按钮在我的主视图控制器中的嵌入式视图控制器内标记为0-6。所有按钮都链接到一个IBAction。

    @IBAction func raceBtn(sender: UIButton) {
    switch sender.tag {
    case 0:
        race = "American Indian"
    case 1:
        race = "Asian"
    case 2:
        race = "Black or African American"
    case 3:
        race = "Hispanic or Latino"
    case 4:
        race = "Pacific Islander"
    case 5:
        race = "White"
    default:
        race = "Other"
    }
}

检查您的另一个按钮已做出选择并提交

@IBAction func submit(sender: AnyObject) {
    guard let race = race where race != "" else {
        return
    }
    print("yes")
}

当我做出选择时,这不会逐步完成。我有主视图控制器和使用相同视图控制器文件的嵌入式控制器。 我使用的是swift 2.2 xCode 7.3.1。谢谢你的帮助。

2 个答案:

答案 0 :(得分:0)

在游乐场,行guard let race = race where race != "" else {return}会产生错误消息

  

定义与先前值冲突

将行更改为:

guard let selected = race where race != "" else { return }

其中新变量的名称不是“race”

答案 1 :(得分:0)

我发现它显示为nil,因为我需要将值从一个视图控制器传递给另一个视图控制器。