2017-09-11 4 views
0

アレイ3、私はあなたが以下を参照することができますように私の関数に列挙型の2次元配列を渡すしようとしていますが、私はエラーを取得しています

エラー:型の値を変換することはできません「[配列]これはスウィフト3で行う必要がありますどのように[[ワンピース]]

var won = hasWonTicTacToe(board: board) 

'予想引数の型に'?

let board = [[0,0,0], [1,0,1], [1,1,0]] 

enum Piece { 
    case red 
    case blue 
    case empty 
} 

func hasWonTicTacToe(board: [[Piece]]) -> Piece { 
    /*..more code here*/ 
} 

答えて

3

それは意味する、あなたが何を意味するか[[0,0,0], [1,0,1], [1,1,0]]は不明だが、あなたは.blueする.redと1であることを0を意味する場合は、何を意味していた:

let board: [[Piece]] = [[.red,.red,.red], [.blue,.red,.blue], [.blue,.blue,.red]] 

列挙値そのものです。それらは整数に相当しません。

これは「2D配列」ではないことに注意してください。これは配列の配列です。それはまったく違うことです。各行の長さが同じであるというルールはありません。実際の行列が必要な場合は、そのデータ構造を作成する必要があります。スウィフトには内蔵されていません。

関連する問題