es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Forma correcta de inicializar la propiedad de clase con un método.

Estoy haciendo un pequeño juego en Swift y me quedé atascado en la inicialización de una propiedad con un método de clase.

 class Game {
 var height: Int
 var width: Int
 var board: [[String]] = createBoard()


 init(height: Int, width: Int) {
    self.height = height
    self.width = width
 }

 func createBoard() -> [[String]]{
   var gameBoard: [[String]] = []
    //trabajando con las propiedades height y width de arriba
    //llenando el tablero y devolviéndolo
   return gameBoard
  }
 }

¿Cómo puedo establecer el valor del tablero como resultado de la función createBoard()? (dentro de createBoard() estoy trabajando con height y width)

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para establecer el valor de la propiedad tablero como el resultado de la función createBoard(), simplemente puede asignar la llamada de la función a la propiedad tablero en la definición de clase:

    class Juego {
        var altura: Int
        var ancho: Int
        var tablero: [[String]]
    
        init(altura: Int, ancho: Int) {
            self.altura = altura
            self.ancho = ancho
            self.tablero = createBoard()
        }
    
        func createBoard() -> [[String]] {
            var tableroDeJuego: [[String]] = []
            //trabajando con las propiedades de ancho y altura de arriba
            //llenando el tablero y retornando
            return tableroDeJuego
        }
    }
    

    Llamando a createBoard() dentro del método init y asignando su resultado a la propiedad tablero, se asegura de que la propiedad tablero se inicialice con el valor correcto en base a las propiedades altura y ancho.

Comments are closed.