Mik*_*ein 8 arrays 2d swift swift3
这实际上是一个非常简单的问题,但一小时后我无法解决我的问题.
我需要创建一个2d的Int数组.
var arr = [[Int]]()
or
var arr : [[Int]] = []
Run Code Online (Sandbox Code Playgroud)
试图改变价值:
arr[x][y] = 1
Run Code Online (Sandbox Code Playgroud)
致命错误:索引超出范围
我应该使用APPEND还是需要指定数组的大小?
我糊涂了..
rma*_*ddy 20
这真的不简单.这条线:
var arr : [[Int]] = []
Run Code Online (Sandbox Code Playgroud)
创建一个类型的变量,Array of Array of Int最初数组为空.你需要像在Swift中的任何其他数组一样填充它.
让我们回到单个数组:
var row : [Int] = []
Run Code Online (Sandbox Code Playgroud)
你现在有一个空数组.你不能只做:
row[6] = 10
Run Code Online (Sandbox Code Playgroud)
首先必须向数组添加7个值,然后才能访问index 6(第7个值)的值.
使用数组数组,您需要使用一组内部数组填充外部数组.并且每个内部数组都需要填充适当数量的值.
这是一种初始化数组数组的简单方法,假设您需要一个预填充矩阵,每个值都设置为0.
var matrix : [[Int]] = Array(repeating: Array(repeating: 0, count: 10), count: 10)
Run Code Online (Sandbox Code Playgroud)
外部计数表示行数,内部计数表示列数.根据需要调整每个.
现在您可以访问矩阵中的任何单元格:
matrix[x][y] = 1 // where x and y are from 0 to rows-1/columns-1
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11375 次 |
| 最近记录: |