我是初学者,我创造了一种tic tac toe游戏并且已经在iPhone 5s模拟器上运行它来清除问题而且刚才我在我的实际iPhone 5s上尝试了它并且应用程序在AI崩溃时应该轮到他了。 Xcode在下面的行中绘制错误(EXC_BAD_ACCESS):
//Bunch of functions that check for exact spots:
func checktop(value:Int)->(location:String,pattern:String) {
return ("top", checkFor(value, spots: [1,2,3])) //This line has error
}
func checkbottom(value:Int)->(location:String,pattern:String) {
return ("bottom", checkFor(value, spots: [7,8,9]))
}
func checkmidAcross(value:Int)->(location:String,pattern:String) {
return ("middle across", checkFor(value, spots: [4,5,6]))
}
func checkleft(value:Int)->(location:String,pattern:String) {
return ("left down", checkFor(value, spots: [1,4,7]))
}
func checkmidDown(value:Int)->(location:String,pattern:String) {
return ("middle down", checkFor(value, spots: [2,5,8]))
}
func checkright(value:Int)->(location:String,pattern:String) {
return ("right down", checkFor(value, spots: [3,6,9]))
}
func checkLRdiag(value:Int)->(location:String,pattern:String) {
return ("left-right diagonal", checkFor(value, spots: [1,5,9]))
}
func checkRLdiag(value:Int)->(location:String,pattern:String) {
return ("right-left diagonal", checkFor(value, spots: [3,5,7]))
}
为什么应用程序在模拟器上运行得很好但在实际设备上崩溃?出了什么问题? 这是我的checkFor方法:
func checkFor(value:Int, spots:Int[])->(String) {
var conclusion = ""
for cell in spots {
if plays[cell] == value {
conclusion += "1"
}
else {
conclusion += "0"
}
}
return conclusion
}
func isOccupied(spot:Int)->(Bool) {
return Bool(plays[spot])
}
答案 0 :(得分:0)
我的应用程序在我的设备上遇到了同样的错误但在模拟器上没有崩溃。事实证明,我的iOS 8测试版与我的Xcode测试版不匹配。因此,我会检查并确保您的iOS 8测试版和Xcode测试版都是第4版(本文撰写时的最新版本)。还要确保完全重新安装App,清理构建文件夹等。
这当然是假设您的代码没有错误。如果上述方法不起作用,也许您可以发布checkFor方法。