I'm new to iOS development and I want to pass an NSMutableArray from one viewcontroller to another but always gives me null values
FirstViewController.h
@interface FirstViewController : UIViewController
@property (nonatomic, retain) NSMutableArray *colorArray;
-(IBAction)btn:(id)sender;
FirstViewController.m
@implementation FirstViewController
-(IBAction)btn:(id)sender
{
  SecondViewController* secondViewController = [[SecondViewController alloc] initWithNibName:@"SecondViewController" bundle:nil];
    secondViewController.animalArray = self.colorArray;
    NSLog(@"%@",secondViewController.animalArray); // here its not null
    [self.navigationController pushViewController:secondViewController animated:YES];
}
SecondViewController.h
@interface SecondViewController : UIViewController
@property (nonatomic, retain) NSMutableArray *animalArray;
SecondViewController.m
I only used NSLog(@"animalArray:%@",self.animalArray); in viewDidLoad to check the values but gives me null
is there anything I'm missing?
Edit :
- (void)viewDidLoad
{
    [super viewDidLoad];
    NSLog(@"indidLoad%@",self.animalArray);
}
- (void)viewWillAppear:(BOOL)animated 
{
    [super viewWillAppear:animated];
    NSLog(@"inwillAppear%@",self.animalArray);
 }
 
     
     
     
     
     
     
    