swift - 如何从数组的数组中获取值

标签 swift dynamic-arrays

我的代码中有数组数组grid。我想要做的是检查 x, y 处是否有一个对象 let object = grid[x][y] if object 不是 nil 我编辑它,否则我为其分配一个新对象 grid[x][y] = newObject()

if let object = grid[x][y] {
   object.property = newValue
} else {
   grid[x][y] = newObject()
}

但我在 if let object = grid[x][y] {

行中收到 fatal error :数组索引超出范围

最好的方法是什么? 提前致谢。

最佳答案

您需要做的(正如我在评论中所说)是将数组分配为您想要的大小,并使其成为 Object? 数组,而不是 Object(或Object! - 为什么要这样做?)。像这样,对于 2x2 数组...

var grid = [[Object?]](count:2, repeatedValue: [Object?](count:2, repeatedValue:nil))

关于swift - 如何从数组的数组中获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33085943/

相关文章:

Swift iOS - 当 TextField、TextView 和背景被点击但丢失事件时移除 View

data-structures - 有没有一种数学方法可以计算动态数组的最佳增长因子?

swift - 如何从 Swift 中的段落开始到 UITextView

ios - 如何在 Swift iOS 应用程序中添加 Google Drive API?

c - 存储字符串数组并循环直到文件末尾

Excel函数从没有VBA的值构造数组

c - 使用函数增加动态数组大小;无错误,下一个尺寸无效(快)

c++ - 在 const char* [][3] 和 std::array< const char*, 3 >* 之间转换

SWIFT 对具有特定对象的不同对象集合的单元格进行排序

ios - https 请求适用于 chrome 但不适用于 iOS 应用程序