Xcode 4: использование NavigationController для создания нескольких уровней UITableViews - PullRequest
0 голосов
/ 10 октября 2011

Я хотел бы использовать NavigationController для создания нескольких уровней UITableView.Я начинаю с RootViewController, созданного Xcode для нового проекта NavigationController, который отображает таблицу, и я могу выбрать строку, которая помещается в стек навигации, чтобы отобразить другую таблицу, используя FirstTable.xib и связанные файлы.Когда я затем выбираю строку в этой таблице, я снова нажимаю на стек навигации, чтобы отобразить третью таблицу (SecondTable.xib), но в этот момент отображаются только пустые ячейки.Очевидно, мне не хватает чего-то, что заставит эту навигацию работать правильно.Любые идеи?

Вот базовая структура, которую я использую для кода на уровнях ниже RootViewController с опущенными очевидными битами, например, метод cellForRowAtIndexPath

@interface FirstTable : UITableViewController {
    NSArray     *firstList;
}
@property (nonatomic, retain) NSArray *firstList;

@implementation FirstTable
@synthesize firstList;

- (id)initWithStyle:(UITableViewStyle)style
{
    self = [super initWithStyle:style];
    if (self) {
        self.title = @"First Table View";
    }
    return self;
}

- (void)viewDidLoad
{
    [super viewDidLoad];

    firstList = [[NSMutableArray alloc] initWithObjects:
             @"Clubs & officials",
             @"Grade",
             nil];
}

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
     UITableViewController *secondView = [[UITableViewController alloc] initWithNibName:@"SecondTable" bundle:nil];
     [self.navigationController pushViewController:secondView animated:YES];
     [secondView release];
}

1 Ответ

0 голосов
/ 11 октября 2011

ОК, похоже, ответ - использовать этот код чуть выше нажатия на ViewController

UITableViewController *secondView = [[NSClassFromString(@"SecondTable") alloc] initWithNibName:@"SecondTable" bundle:nil];

Полагаю, я не создавал экземпляр класса из UITableViewController для второй таблицы. Но тогда почему оригинальная версия работает для первой таблицы, то есть той, которая вызывается rootViewController?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...