Need advice about memory management
I have been working with Objective-C for a month approximately but regretfully i'm still a complete dummy in memory management so i need your advice. I pass an array from one file to the other like this
 

             BidView *bidView = [[[BidView alloc] init] autorelease];
             NSLog(@"%i",[bidView.seatsForTableCreated retainCount]);
             bidView.seatsForTableCreated = [NSArray arrayWithArray:seats];
             NSLog(@"%i",[bidView.seatsForTableCreated retainCount]);
             [self.navigationController pushViewController:bidView animated:YES];  `

NSLog tells me that retain count of seatsForTableCreated has raised from zero to two. Then, when i quit BidView screen (without doing anything with seatsForTableCreated array) i' m doing the following:
   

    NSLog(@"%i",[seatsForTableCreated retainCount]);
    [seatsForTableCreated release];
    NSLog(@"%i",[seatsForTableCreated retainCount]);

it's quite unclear for me. Now NSLog tells me (both times) that retain count is 1. Then i repeat this procedure (running the same application i mean) and each time things are the same:0-2-1-1.  So my questions are:
 1)Why 0 to 2? Why retain count increases to 2 not to 1? 
 2)why then it drops to 1 without being impacted in any way?
 3)Why it still remains 1 after i've released it? 
 4)How would you manage the memory in such a case?
Great thanks in advance
Need advice about memory management
===

I have been working with Objective-C for a month approximately but regretfully i'm still a complete dummy in memory management so i need your advice. I pass an array from one file to the other like this
 

             BidView *bidView = [[[BidView alloc] init] autorelease];
             NSLog(@"%i",[bidView.seatsForTableCreated retainCount]);
             bidView.seatsForTableCreated = [NSArray arrayWithArray:seats];
             NSLog(@"%i",[bidView.seatsForTableCreated retainCount]);
             [self.navigationController pushViewController:bidView animated:YES];  `

NSLog tells me that retain count of seatsForTableCreated has raised from zero to two. Then, when i quit BidView screen (without doing anything with seatsForTableCreated array) i' m doing the following:
   

    NSLog(@"%i",[seatsForTableCreated retainCount]);
    [seatsForTableCreated release];
    NSLog(@"%i",[seatsForTableCreated retainCount]);

it's quite unclear for me. Now NSLog tells me (both times) that retain count is 1. Then i repeat this procedure (running the same application i mean) and each time things are the same:0-2-1-1.  So my questions are:
 1)Why 0 to 2? Why retain count increases to 2 not to 1? 
 2)why then it drops to 1 without being impacted in any way?
 3)Why it still remains 1 after i've released it? 
 4)How would you manage the memory in such a case?
Great thanks in advance