2015-08-11 3 views
0

Я делаю пошаговую игру iOS в Swift и до того, как будет вызван метод endMatchInTurnWithMatchData, я установил свойство matchOutcome каждого участника. Но это первая строка кода (ниже) в функции приводит к ошибке Cannot assign a value of type 'GKTurnBasedMatchOutcome' to a value of type 'GKTurnBasedMatchOutcome!'GKTurnBasedMatchOutcome не может быть назначен

func endGame() 
{ 
    self.currentMatch.participants[0].matchOutcome = GKTurnBasedMatchOutcome.Won 
    self.currentMatch.endMatchInTurnWithMatchData(gameData, completionHandler: {(error) -> Void in gameData = NSData()}) 
} 

ответ

1

Попробуйте потянув участника из массива участников первой, например, так:

GKTurnBasedParticipant *part0 = match.participants[0]; 
part0.matchOutcome = GKTurnBasedMatchOutcomeWon; 
+0

Спасибо так много это работало !! Я долго размышлял об этом. То, что меня смутило, прежде чем попробовать ваш метод, состояло в том, что участники имеют тип «AnyObject», когда они перечислены в матче, но если вы вытащите их в новую переменную и преобразуете их в «GKTurnBasedParticipant», как вы сказали, что это работает! Еще раз спасибо! –

+0

Рад, что это сработало! Вы могли бы подумать о принятии этого в качестве правильного ответа. Благодаря! – Thunk

Смежные вопросы