Swift数组基础知识

时间:2016-04-19 10:47:10

标签: swift

使索引超出范围。 是否存在语法错误或逻辑?

func generateGameBoard()->([Int]){
        var gboard =  [Int]();
        var i : Int = 0;
        for(i=0;i<8;i++){
            gboard[i]=1;
        }
        return gboard;
    }
}

3 个答案:

答案 0 :(得分:1)

var gboard =  [Int](); // you are creating an empty array here.

你需要在数组中追加值 像

gboard.append(1) instead of   gboard[i]=1;

和c style for loop和++ opeartor将不会在下一版本的swift中使用。

答案 1 :(得分:1)

您没有注意到代码中的错误。您创建一个空数组,然后询问索引为0 ..&lt; 8这是无效的。您应该使用 count 来迭代内容。

   func generateGameBoard()->([Int]){
        var gboard =  [Int]();
        for i in 0 ..< gboard.count {
            gboard[i]=1;
        }
        return gboard;
    }

答案 2 :(得分:0)

您还应该为swift 3做好准备并更新for循环部分。它不会在swift 3中立即编译。您必须将其更改为: 因为我在0 ..&lt; 8 { }