Ios 在swift中,是否有一种使用按钮标签比较按钮图像的方法
我是swift的业余爱好者,我一直在尝试做一个井字游戏。所以我想知道是否有任何方法可以使用按钮标签来比较按钮图像Ios 在swift中,是否有一种使用按钮标签比较按钮图像的方法,ios,swift,Ios,Swift,我是swift的业余爱好者,我一直在尝试做一个井字游戏。所以我想知道是否有任何方法可以使用按钮标签来比较按钮图像 提前谢谢 是的,您可以这样比较图像: if yourCell.ButtonOutlet.currentImage.isEqual(UIImage(named: "yourImageName")) { } else { } 我认为有更好的方法来解决这个问题 不要试图比较按钮的图像。相反,您应该做的是创建一个模型。模型基本上是用更简单的数据结构表示更
提前谢谢 是的,您可以这样比较图像:
if yourCell.ButtonOutlet.currentImage.isEqual(UIImage(named: "yourImageName")) {
} else {
}
我认为有更好的方法来解决这个问题 不要试图比较按钮的图像。相反,您应该做的是创建一个模型。模型基本上是用更简单的数据结构表示更复杂系统的东西 在tic tac toe游戏中,您可以创建这样的枚举,而不是处理按钮:
enum SqaureContent {
case empty, nought, cross
}
然后,您的模型将成为内容SqaureContent
的二维数组:
var gameBoard: [[SquareContent]] = [
[.empty, .empty, .empty],
[.empty, .empty, .empty],
[.empty, .empty, .empty]
]
当用户点击按钮时,视图控制器可以通过设置按钮的图像并将模型中的值设置为.cross
来处理点击。通过这种方式,您可以使用按钮(“视图”)同步模型
然后,您可以在模型上而不是按钮上执行所有操作
然后,您可以像这样比较这些值:
if gameBoard[0][0] == gameBoard[1][0] && gameBoard[1][0] == gameBoard[2][0] {
...
}
您知道,这将与比较按钮图像相同,因为模型和视图是同步的
以这种方式编写程序的好处是可以避免很多复杂的问题。按钮是复杂的对象。他们的形象可以是任何东西,而不仅仅是零和十字架。我们应该使用枚举将值限制为3-
.empty
,.nough
,.cross
。您能详细说明一下吗?显示一些您试图实现的代码。。。