Błąd BAD ACCESS, mimo że właściwość jest ustawiona na zachowanie

Mam nadzieję, że ktoś może mi powiedzieć, dlaczego się mylę. Oto fragment mojego kodu:

TimeLogAppDelegate *appDelegate = (TimeLogAppDelegate *)[[UIApplication sharedApplication] delegate];

PickFromListViewController * pl = [[PickFromListViewController alloc] initWithNibName:@"PickList" bundle:nil];
pickList = pl;
[pickList setSearchItems:[appDelegate tableListMutableArray:type ] :NSLocalizedString(type,nil)];
pickList.callingViewController = self;
[pl release];
pickList.responseSelector = [[type lowercaseString] stringByAppendingString: @"Selected:"];
pickList.includeNone = YES;
pickList.includeNew = YES;
[self.navigationController pushViewController:pickList animated:YES];

Jak widzisz, wypuszczam pl w połowie, żeby stworzyć problem. 'pickList' jest oczywiście PickFromListViewController i jest zadeklarowany w nagłówku. Ustawiam go jako właściwość (@property (nonatomic, retain) PickFromListViewController * pickList;) i I @synthesize.

Moim problemem jest:

po wydaniu pl dostaję błąd BAD ACCESS uzyskując dostęp do pickList wskazując, że wskaźnik nie jest już dostępny, ale pomyślałem, że fakt, że pickList jest syntetyzowany, zostanie zachowany, dopóki nie zwolnię go w dealloc?

Czy ktoś może mi powiedzieć, dlaczego się mylę?

Wielkie dzięki

questionAnswers(1)

yourAnswerToTheQuestion