Это лучший способ динамической загрузки объекта UIViewController на основе выбора элемента? - PullRequest
1 голос
/ 31 января 2010

Мое корневое представление содержит три раздела в табличном представлении. В зависимости от того, какой раздел выбран, соответствующий контроллер представления будет вставлен в стек просмотра. Следующий метод didSelectRowAtIndexPath взят из моего кода и работает так, как я ожидал, но мне было интересно, если это правильный / самый элегантный способ сделать это. Я новичок в Objective-C, поэтому не уверен, стоит ли мне сначала инициализировать viewController для nil.

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    UIViewController *viewController = nil;

    if (indexPath.section == 0) {
        viewController = [[FirstViewController alloc] initWithNibName:@"FirstViewController" bundle:nil];
    }
    else if (indexPath.section == 1) {
        viewController = [[SecondViewController alloc] initWithNibName:@"SecondViewController" bundle:nil];
    }
    else if (indexPath.section == 2) {
        viewController = [[ThirdViewController alloc] initWithNibName:@"ThirdViewController" bundle:nil];
    }

    [self.navigationController pushViewController:viewController animated:YES];
    [viewController release];
}

1 Ответ

2 голосов
/ 31 января 2010

Вы можете сделать это в выражении swtch (), но в остальном я думаю, что это хорошо.Единственным другим изменением будет проверка viewController перед нажатием:

if (viewController != nil) [self.navigationController pushViewController...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...