2017-04-16 49 views
0

我正在玩代码。我在GitHub上找到了(https://github.com/avijeets/ConnectFour),并且因为我无法清除的错误而被彻底绊倒。无法将字符串类型的值转换为预期的参数类型Int

错误是:

enum CFCellState: CustomStringConvertible { 
    case empty 
    case occupied(CFPlayer) 

    var description: String { 
     switch self { 
     case .empty: 
      return "empty" 
     case .occupied(let player): 
      return player.description 
     } 
    } 
} 

代码从发生错误:

self.init(player: current!, opponent: opponent!, columns:ConnectFour.boardFrom(json: queryItems[1].value!)!) 

回答

0

尝试此从VC的顶部,其中CFCellState定义

"Cannot convert value of type '[[CFCellState]]' to expected argument type 'Int'"

代码相反:

self.init(player: current!, opponent: opponent!, board: ConnectFour.boardFrom(json: queryItems[1].value!)!) 

为了这个工作,你可能需要删除来自该行的private关键字ConnectFour.swift文件(环顾四周线#98):

private init(player: CFPlayer, opponent: CFPlayer, board: [[CFCellState]]) { .... 
+0

当我改变登机时,Xcode状态在调用中有不正确的参数标签(有'player:opponent:board:',​​期望'player:opponent:columns:'),并提供选项以更改为列。 – user3534305

+0

@ user3534305我更新了我的答案并提供了更多详细信息。请看看... –

+0

这样做,谢谢一吨。现在它在玩家2的同一行代码中发生了致命错误:在解包可选值时意外地发现了nil。好玩。 – user3534305

相关问题