使用字符串更改Bool类型的值

时间:2016-06-13 22:22:03

标签: swift function

我正在通过改进我的Swift语言来制作一个小游戏,所以我不熟悉Swift的所有功能。这就是我问这个问题的原因:

我有:

var Playedcardone: Bool = false
var Playedcardtwo: Bool= false
ect ect ect

我的IBAction,它与52张卡相连:

@IBAction func Tappedoncard(card: UIButton) {
        if tapped == true{ //nvm this
        checkcard(card)
    }
    }

在一个函数中,我有:

func checkcard(Card: UIButton) {
        ("Playedcard" + Card.currentTitle!) = true
    }

你可能猜到这个功能不起作用。如何根据我拨打的卡片参考我制作的var?当勾选卡时,bool需要更改为true。我可以通过创建52个变量和其他51个if语句来做到这一点,但是应该有一个更快的选项吗?欢迎你的帮助:)。

/ offtopic:我知道我可以使用类来定义我的卡片值,UIIMageview和bool本身。我只是不理解最佳课程,也许我将使用我的下一个应用程序。如果您想查看我的代码,并且想要帮助我,请询问,我会在此处删除代码。

1 个答案:

答案 0 :(得分:0)

您无法使用字符串访问变量,就像您尝试的那样。您需要执行某种类型的条件检查来更新变量,如此。

func checkcard(Card: UIButton) {
    if Card.currentTitle! == "one" {
      Playedcardone = true
    } else if Card.currentTitle! == "two" {
      Playedcardtwo = true
    }
}

您可以使用多种不同的解决方案 - 例如,为什么不为每张卡制作两个单独的IBAction?另外,作为惯例,我建议使用小写字母来启动变量。