Передать NSArray из UIViewController

#objective-c #ios #uiviewcontroller #nsarray

#objective-c #iOS #uiviewcontroller #nsarray

Вопрос:

У меня есть контроллер rootView в UINavigationController с NSMutableArray. Мне нужно передать копию массива другому ViewController без разрешения на изменение.

Итак, я делаю следующее в некотором ViewController:

 - (void)setArrExercises:(NSArray *) arrExercs {
     // arrExercs NSMutableArray of my custom objects from rootViewController
     arrExec = [[NSArray alloc] initWithArray:arrExercs];
}
  

Массив создается, но в методе делегирования TableView:

 - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{   
    return [arrExec count];
}
  

Там нет элементов.

Ответ №1:

Возможно, вы должны попробовать таким образом

 -(void) setArrExercises:(NSArray *) arrExercs {
     // arrExercs NSMutableArray of my custom objects from rootViewController
     NSArray* arrExec = [[NSArray alloc]init];
     for( int i=0; i<[arrExercs count];   i )
        [arrExec addObject:arrExec[i]];
  }