Como passar um NSMutableArray para outra classe ViewController

Criei o NSMutale Array em "HeroListViewController". Eu quero usá-lo em outro viewController que é MapTutorialViewController. Eu tentei assim.

em HeroListViewController.h

MapTutorialViewController *maptutorialcontroller;
NSMutableArray *listData; 

set propriedades e sintetize-as corretamente

em HeroListViewController.m

- (void)viewDidLoad {
    [super viewDidLoad];

    listData = [[NSMutableArray alloc] init];   
    }

 - (UITableViewCell *)tableView:(UITableView *)theTableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

static NSString *HeroTableViewCell = @"HeroTableViewCell";

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:HeroTableViewCell];
if (cell == nil) {
    cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:HeroTableViewCell] autorelease];
}
NSManagedObject *oneHero = [self.fetchedResultsController objectAtIndexPath:indexPath];
NSInteger tab = [tabBar.items indexOfObject:tabBar.selectedItem];
switch (tab) {
    case kByName:
        cell.textLabel.text = [oneHero valueForKey:@"name"];
        cell.detailTextLabel.text = [oneHero valueForKey:@"secretIdentity"];
        break;
    case kBySecretIdentity:
        cell.detailTextLabel.text = [oneHero valueForKey:@"name"];
        cell.textLabel.text = [oneHero valueForKey:@"secretIdentity"];
    default:
        break;
}

        [listData addObject: [oneHero valueForKey:@"secretIdentity"]];


        count=[listData count];
                printf("No of items of listData:%u\n", count);


if(maptutorialcontroller==nil){
      maptutorialcontroller= [[MapTutorialViewController    alloc]initWithNibName:@"MapTutorialViewController" bundle:nil];
maptutorialcontroller.secondarray=listData;
}
count=[maptutorialcontroller.secondarray count];
printf("No of items of seconarray :%u\n", count);

return cell;

}

OUTPUTS: Nº de itens da listaDados: 3 Nº de itens da seconarray: 3 // ambos estão corretos

Mas o problema que tenho, quando tento usar o segundo array em "MapTutorialViewController" como este, em MapTutorialViewController.h

    HeroListViewController *heroviewcontroller;
  NSMutableArray *secondarray; 

set propriedades e sintetize-as corretamente

in MapTutorialViewController.m

 - (void)viewDidLoad 
   {
    heroviewcontroller = [[HeroListViewController alloc]initWithNibName:@"HeroListViewController"  bundle:nil]; 
   self.secondarray=[heroviewcontroller.listData mutableCopy];
   //secondarray= heroviewcontroller.listData;
int count;
count = [secondarray count];
//  
   printf("No of items of secondarray from MapTutorialViewContriller :%u\n", count);
   }

OUTPUT: Número de itens do secondarray do MapTutorialViewContriller: 0
Por que é 0

o que está errado com meu código, por favor me ajude

questionAnswers(4)

yourAnswerToTheQuestion