我在Swift中有一个二维5x5数组。我试图让每个数组项都呈现一个具有成本和启发式等属性的结构。例如,grid[0][0]
项应具有成本和启发式值。
快速实施:
struct Spot {
var cost: Int // cost
var heu: Int // heuristics
}
var grid = [[Int]]
在Javascript中,我以前是这样做的:
function Spot() {
this.cost = 0;
this.heu = 0;
}
//This is what I'm looking for something equivalent in Swift
grid[0][0] = new Spot();
抱歉,这似乎很基础,但是我是Swift的初学者。
答案 0 :(得分:3)
您需要一个Spot
个数组[[Spot]]
的数组,而不是Int
个数组[[Int]]
的数组。
struct Spot {
let cost: Int // cost
let heu: Int // heuristics
}
var grid: [[Spot]] = .init(repeating: .init(repeating: .init(cost: 0, heu: 0), count: 5), count: 5)
grid[0][0] = .init(cost: 10, heu: 5)
print(grid) // "[[Spot(cost: 10, heu: 5),...
print(grid[0][0].cost) // 10
print(grid[0][0].heu) // 5