【发布时间】:2015-08-01 09:11:53
【问题描述】:
我正在开发一个井字游戏应用程序,我有 9 个按钮 (3x3)。我想制作所有按钮的二维数组并放入所有解决方案。如何实现二维数组?
【问题讨论】:
标签: swift
我正在开发一个井字游戏应用程序,我有 9 个按钮 (3x3)。我想制作所有按钮的二维数组并放入所有解决方案。如何实现二维数组?
【问题讨论】:
标签: swift
二维数组只是数组的数组。
// this will create an empty array
let buttons = [[UIButton]]()
或者...
let buttons = [
[button1, button2, button3],
[button4, button5, button6],
[button7, button8, button9]
]
有很多方法可以做到这一点。
【讨论】:
使用这个
class Utils{
static func arrayToArrays<T>(arr: Array<T>,size: Int)->Array<Array<T>>{
var result : Array<Array<T>> = Array<Array<T>>(count: size, repeatedValue: Array<T>());
var set = -1;
var expectedSize = (arr.count / size) + (arr.count % size);
for i in 0..<arr.count {
if i % expectedSize == 0{
set++;
}
result[set].append(arr[i]);
}
return result;
}
}
使用:
var my1DArray = [1,2,3,4,5,6,7,8,9];
var my2DArray = Utils.arrayToArrays(my1DArray,size:3); //[[1,2,3],[4,5,6],[7,8,9]]
【讨论】: