У меня есть табличное представление, которое представляет UIViewController при каждом нажатии строки (отображает подробности для этой конкретной строки).
Код выглядит следующим образом:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
if (!detail) {
detail = [[DetailViewController alloc] initWithNibName:@"DetailViewController" bundle:nil];
}
PlaceObject *info = [locationInfo objectAtIndex:indexPath.row];
detail.UniqueID = info.UniqueID;
detail.hidesBottomBarWhenPushed = YES;
[self.navigationController pushViewController:detail animated:YES];
self.detail = nil;
[detail release];
}
Проблема заключается вэта «деталь», кажется, не уничтожается, когда она извлекается из стека (когда пользователь возвращается к табличному представлению).
У меня есть несколько IBOutlets и Variable в классе UIViewController «detail»который я выпускаю в dealloc следующим образом:
- (void)dealloc
{
NSLog(@"Deallocing");
[storedURL release];
[storedNumber release];
[storedLocation release];
[nameLabel release];
[postCode release];
[description release];
[openTime release];
[nearestTube release];
[area release];
[image release];
[name release];
[phoneNumber release];
[scroll release];
[picture release];
[addressOne release];
[cost release];
[super dealloc];
}
Кто-нибудь может посоветовать, почему «детали» не могут быть уничтожены, когда пользователь возвращается к представлению таблицы?
EDIT
Хорошо, приведенный выше код теперь работает отлично.Ключ, казалось, устанавливал детализацию на ноль - хотя я не уверен, почему.