2014-08-31 3 views
1

У меня есть множество ресторанов, определенных в файле заголовкаНевозможно добавить объект NS массив

@property (nonatomic, strong) NSMutableArray *resPool; //pool of restaurants 

Теперь я пытаюсь добавить объект ресторана в массив, выполнив следующие действия в файле .m:

id restaurant = [[Restaurant alloc] initWithResName:resName] 
[self.resPool addObject:restaurant];// add the restaurant to the res pool array 

ResName NSArray остается пустым, когда я запускаю этот код. Я не знаю, что я делаю. Я просто пытаюсь подобрать цель C. Может ли кто-нибудь помочь мне с этим?

ответ

1

Вы не говорите resPool = [NSMutableArray alloc]init]; в любом месте. Выделите память на resPool, а затем выполните операции с ними. Как правило, выделение памяти выполняется в вашем инициализаторе. Сделайте это любым способом init вашего класса.

+0

Это верно. Большое спасибо! – SivaDotRender

1

Я думаю, что у вас нет instantiated массива, поэтому вы не можете добавить к нему объект.

Попробуйте добавить следующее:

- (NSMutableArray *)resPool { 
    if (!_resPool) _resPool = [[NSMutableArray alloc]init]; 
    return _resPool; 
} 

Это называется ленивым instansiation в Objective-C, и это довольно часто

+0

Это работает. большое спасибо – SivaDotRender