ios - 错误 : "array index out of range" in multidimensional array

标签 ios swift

我已经声明了我的数组

var tile = [[Int]]()

然后我像初始化它的值一样

for (var index = 0; index < 4; index++)
    {
        for (var sindex = 0; sindex < 4; sindex++)
        {
        self.tile[index][sindex] = 0 // error here
            println("\(index) \(sindex)")

        }
    }

运行时报错“数组索引超出范围”

最佳答案

正如评论员@C_X 和@MartinR 所说,您的数组是空的。以下是如何根据需要对其进行初始化...

var tile = [[Int]](count:4, repeatedValue: [Int](count: 4, repeatedValue: 0))

for index in 0 ..< 4 {
    for sindex in 0 ..< 4 {
        tile[index][sindex] = 0 // no error here now...
        print("\(index) \(sindex)")
    }
}

...当然,for 循环现在是多余的,如果您只想要零!

关于ios - 错误 : "array index out of range" in multidimensional array,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32650268/

相关文章:

ios - 我怎样才能建立一个连续的视差滚动/表格 View ?

ios - 无法控制 Storyboard中 YTPlayerView 实例的显示大小

objective-c - 在不覆盖父 getter/setter 的情况下合成 ivar 声明

swift - 由于自定义 CNSocialProfile 服务名称,imessage 中的 VCF 崩溃?

ios - 使用 MapKit Swift 在两个坐标之间绘制路径

ios - 使用未声明的类型 "ViewController"

ios - 如何使用JSExport导出内部类的方法

swift - 如何使用 Combine 分配从 Core Data 获取请求返回的元素数量?

swift - 如何在 NSApplicationDelegate 上加载 NSViewController

ios - 使用粗体系统字体设置标签