Comment initialiser un tableau dans Swift avec une capacité spécifique?
J'ai essayé:
var grid = Array <Square> ()
grid.reserveCapacity(16)
mais obtenez l'erreur
expected declaration
Que diriez-vous:
class Square {
}
var grid = Array<Square>(count: 16, repeatedValue: Square());
Bien que cela appelle le constructeur pour chaque carré.
Si vous avez créé le tableau avec des instances Square facultatives, vous pouvez utiliser:
var grid2 = Array<Square?>(count: 16, repeatedValue: nil);
EDIT: Avec Swift3, cette signature d'initialisation a changé comme suit:
var grid3 = Array<Square>(repeating: Square(), count: 16)
ou
var grid4 = [Square](repeating: Square(), count: 16)
Bien sûr, les deux fonctionnent également avec Square?
et nil
.
Swift 3/Swift 4/Swift 5
var grid : [Square]?
grid?.reserveCapacity(16)
Je pense que cela peut également être réalisé sur une seule ligne.
var actions:[AnyObject?] = [AnyObject?](count: 3, repeatedValue: nil)
Essayer:
var grid = Array<Square>(count: 16, repeatedValue: aSquare)