微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Swift设置全局变量

我无法通过不同的函数接收变量.

我分配了:

var ageDescription: String = String()

作为全局变量的类之外,以及2个ibactions

@IBAction func ageChanged(sender: UISegmentedControl) {
    switch age.selectedSegmentIndex {
    case 0:
        print("Under 18")

        let ageDescription = "under 18"
    case 1:
        print("Over 18")

        let ageDescription = "over 18"
    case 2:
        print("Strictly over 21")
        let ageDescription = "strictly over 21"
    default:
        print("IDK")
    }


}



@IBAction func saveButtonTapped(sender: UIButton) {
    print(ageDescription)
}

我希望用户能够选择年龄选项,然后使用saveButton打印出结果.但似乎在saveButton被点击后,它打印出一个零.我相信它与变量ageDescription有关,但我不确定是什么问题.

解决方法

您正在将值赋给函数内的新变量并尝试访问另一个函数中的全局变量,因此它对您来说是零.由于您已声明了一个全局变量,因此无需在ageChanged函数中声明另一个局部变量,只需访问全局变量即可.

试试这个:

@IBAction func ageChanged(sender: UISegmentedControl) {
    switch age.selectedSegmentIndex {
    case 0:
        print("Under 18")

        ageDescription = "under 18"
    case 1:
        print("Over 18")

        ageDescription = "over 18"
    case 2:
        print("Strictly over 21")
        ageDescription = "strictly over 21"
    default:
        print("IDK")
  }
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐