Не удалось добавить объекты в NSMutableArray в Objective C

Я использую iPhone SDK и имею проблему, делающую что-то простое. Я пытаюсь добавить объект NSNumber к переменной экземпляра NSMutableArray . Я попытался добавить карту NSNumber в NSMutableArray , смотрящий CardsArray , но без нарушения, он не добавляется в массив. Вот код.

///////////////////////////////////////////////////// // 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]; } 

Таким образом, этот код выполняется и, по-видимому, не течет (согласно инструменту производительности Leak). Однако при переходе через код, ни в коем случае не появляется CardIdObject в viewCardsArray .

Просматривая SO, я знаю, что эти основные вопросы довольно распространены для новичков ObjC (например, я), поэтому заранее приношу свои извинения!

Вы инициализировали ваш viewedCardsArray ? Если вам это не нужно – это обычно делается в методе init для вашего classа:

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

Затем он освобождается в методе dealloc :

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

Perspx изложил один из способов инициализации массива. Однако вы также можете использовать методы classа, предоставляемые NSArray:

 self. viewedCardsArray = [NSMutableArray array]; 

Это может происходить в init или в другом месте.

Примечание. Объект будет автореализован.

  • Формат NSDate, выводящий неверную дату
  • К ARC или не к ARC? Каковы плюсы и минусы?
  • Редактирование Info.plist возможно программно?
  • Как получить размер NSString
  • Как отправить данные json в запрос Http с помощью NSURLRequest
  • Соглашение об именах iPhone ivar
  • Когда происходит освобождение связанного объекта?
  • Множественное перечисление значений в Obj-C
  • Почему NSError нуждается в двойной косвенности? (указатель на указатель)
  • Как добавить UIView над текущим UITableViewController
  • Прокрутка двумя пальцами с помощью UIScrollView
  • Давайте будем гением компьютера.