Синтез NSMutableArray - PullRequest
       2

Синтез NSMutableArray

0 голосов
/ 23 мая 2011
      for(int i=0;i<[promotionArr count];i++)
            { 
               // NSLog(@"ok");
                Promotion *prom = [[Promotion alloc]init];
                prom.pName=[[promotionArr objectAtIndex:i] objectForKey:@"name"];

                prom.pUrl=[[promotionArr objectAtIndex:i] objectForKey:@"url"];
                prom.pDescription=[[promotionArr objectAtIndex:i] objectForKey:@"description"];

                [promMUAraay addObject:prom];
                 NSLog(@"number of elements : %d",[promMUAraay count]);

 }

Но номер элемента всегда равен 0.Я не делаю @synthetise для NSMutableArray, xcode говорит мне, что я не могу. Я просто делаю это в моем .h

NSMutableArray *promMUAraay;

Это проблема?

Ответы [ 2 ]

6 голосов
/ 23 мая 2011

Вы не забыли выделить, инициализировать массив?

NSMutableArray *array = [[NSMutableArray alloc] init];

Сделайте это перед использованием массива.

1 голос
/ 23 мая 2011

Вы должны инициализировать NSArray перед тем, как получить к нему доступ. То есть в вашем файле .m, в вашем методе -init, вы должны иметь такой код:

promMUAraay = [[NSMutableArray alloc] init.......];

Для всех параметров, которые вы инициализируете NSArray, см. Ссылку NSArray .

Что касается вашей попытки syntethizing массива, ключевое слово @synthetize используется для автоматического создания определений для методов установки / получения для вашего массива (при условии, что в вашем интерфейсе имеется соответствующее объявление @property). Это не меняет того, что вам все равно нужно инициализировать NSArray в методе init вашего класса. Единственное, что вы можете после этого ссылаться на вашу переменную, используя точечную запись: self.promMUAraay.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...