我对编程很新,所以要好。我正在使用最新版本的Xcode来构建一个井井有条的游戏,只是为了好玩(单视图应用程序)。
var plays = Dictionary<Int,Int>()
var done = false
var aiDeciding = false
@IBAction func UIButtonClicked(sender:UIButton){
userMessage.hidden = true
if !plays(sender.tag) && !aiDeciding && !done{
setImageForSpot(sender.tag, player:1)
}
在条件if语句(if !plays(sender.tag)
)处,我收到错误消息:
&#39;(@ lvalue Int) - &gt; $ T7&#39;与&#39;词典&#39;
不同
答案 0 :(得分:2)
使用plays
词典时出现了一些问题。
最简单的是,您使用()
代替[]
进行下标访问(即plays[sender.tag]
接下来,你不能在整数上使用!
- 与一些基于C的语言不同,你不能在Swift中使用整数作为布尔值。所以你必须将它与特定值进行比较。大概是你在检查它是否等于0?
最后,字典在Swift中返回可选值,您可能需要解包。但好消息是,如果你关心的是它是否等于0,那么你可以将它与一个值进行比较而不需要打开它。
所以这应该有效:
if plays[sender.tag] == 0 && !aiDeciding && !done {
// etc…
}