我正在将游戏迁移到Swift。当我到达游戏应通过游戏中心向其他玩家发送按摩时,我在iPhone 5上收到EXC_ARM_BREAKPOINT错误并在iOS模拟器上收到EXC_BAD_INSTRUCTION错误。
myMatch是从GameCenterViewController初始化的。一切似乎都很好,但无论我做什么,我都会失败并且程序崩溃了。
我试图调用sendDataToAllPlayers。结果是一样的。为错误尝试nil,同样失败。尝试空消息,同样失败。
我的代码如下:
func StartOnlineGame() {
PlayedNumberSent=false
caller=0
self.playerReset()
myMatch.delegate=self;
gameState=Game_States.GAME_RUNNING
myCoin=Int(arc4random())
var init_message:network_message = network_message(message:messagetype.M_INIT, playercoin: 0)
var messageData:NSData?
var error: NSError?
init_message.playercoin=myCoin;
//var toPlayers=myMatch.players
messageData!=NSData(bytes:&init_message, length:sizeof(network_message))
myMatch.sendData(messageData!, toPlayers:myMatch.players, withDataMode:GKMatchSendDataMode.Reliable, error:&error)
}
感谢您的帮助!
Endre
答案 0 :(得分:0)
最后,事实证明这是Swift编译器中的一个错误。任何代码更新都无法修复它。
我必须回到Objective-C,直到修复了所有这些错误。