Hola, una consulta: En mi forma de resolver el trabajo practico estoy usando un arreglo (Collection), donde guardo distintos objetivos de la misma clase. En otras palabras "una lista de objetos". Mi problema esta que cuando agrego un nuevo objeto a la lista y uso el método add: este me dice que mi arreglo es Nil, (MessageNotUnderstood: receiver of "add" is nil), cuando trato de correr las pruebas. Lo primero que pensé es que es un problema en el Initialize de la clase, donde hago "lista := Collection new.", pero no tengo idea si es eso u otra cosa mas. A que se debe este error?
Desde ya gracias
Saludos
Hola Gonzalo,
Si te dice que tu objeto no entiende el método add: es porque no fue instanciado correctamente como una colección. Revisá todos los nombres y asegurate de que el método initialize se llame exactamente así en minúscula (aparecerá un triángulo verde a la izquierda del nombre si está bien escrito).
Saludos,
Tomás
En este caso está bueno ver cómo está implementado el add: en Collection. Según lo que vi los objetos de la clase Collection no aceptan el mensaje add: ya que es como una especie de clase abstracta (no estoy seguro de esto). El método add: está implementado en cada clase que hereda de Collection por lo que podrías usar OrderedCollection o cualquier otra clase que herede de Collection.
Si, es así. La clase Collection es una clase abstracta (este tema se irá viendo el las próximas semanas), por lo cual no debe utilizarse, sino en su lugar deberán utilizar alguna colección como OrderedCollection o similar.