Tiene problemas para agregar objetos a NSMutableArray en Objective C

Estoy usando el iPhone SDK y tengo un problema al hacer algo simple. Estoy intentando agregar un objeto NSNumber a una variable de instancia NSMutableArray . Traté de agregar NSNumber card a NSMutableArray viewedCardsArray , sin embargo, sin romper, no se agrega a la matriz. Aquí está el código.

///////////////////////////////////////////////////// // Inside the header file Class.h @interface MyViewController : UIViewController { NSMutableArray *viewedCardsArray; //snip ... } @property (nonatomic, retain) NSMutableArray *viewedCardsArray; @end ///////////////////////////////////////////////////// // Inside the methods file Class.m #import "StudyViewController.h" @implementation StudyViewController @synthesize viewedCardsArray //snip ... - (IBAction)doShowCard { //snip ... NSNumber *cardIdObject = [[NSNumber alloc] initWithInt:(int)[self.currentCard cardId]]; [viewedCardsArray addObject: cardIdObject]; [cardIdObject release]; } 

Entonces, este código se ejecuta y no parece tener fugas (de acuerdo con la herramienta de rendimiento de Leaks). Sin embargo, al recorrer el código, en ningún momento aparece CardIdObject en viewedCardsArray .

Mirando a través de SO, sé que estas preguntas básicas son bastante comunes para los novatos de ObjC (como yo), ¡así que las disculpas de antemano!

¿Has inicializado tu viewedCardsArray ? Si no es así, necesitas hacerlo en algún lugar; esto generalmente se hace en el método init para tu clase:

 - (id)init { self = [super init]; if(self) { viewedCardsArray = [[NSMutableArray alloc] init]; } return self; } 

Luego se libera en el método dealloc :

 - (void)dealloc { [viewedCardsArray release]; [super dealloc]; } 

Perspx ha delineado una forma de inicializar la matriz. Sin embargo, también puede usar los métodos de clase provistos por NSArray:

 self. viewedCardsArray = [NSMutableArray array]; 

Esto puede ir en init o en otro lugar.

Nota: El objeto se lanzará automáticamente.