Условный переход от UITableView к DetailView на основе состояния объекта - PullRequest
3 голосов
/ 27 марта 2012

Я настроил раскадровку Xcode моей таблицы развертывания для перехода к двум подробным представлениям.

Я хочу, чтобы он перешел к одному из них в зависимости от состояния объекта «Бюджет», который я коснулся в табличном представлении. Если объект бюджета не был инициализирован, я хочу перейти к представлению инициализации. Если он был инициализирован, я хочу перейти к подробному виду.

Пока это то, что у меня есть ...

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {

    /*
     When a row is selected, the segue creates the detail view controller as the destination.
     Set the detail view controller's detail item to the item associated with the selected row.
     */

    if ([[segue identifier] isEqualToString:@"showDetailsOfBudget"]) 
    {

        NSIndexPath *indexPath = [self.budgetsTable indexPathForSelectedRow];
        BudgetDetailsViewController *detailsViewController = [segue destinationViewController];
        detailsViewController.budget = [self.budgetPlan.budgets objectAtIndex:indexPath.row];
    }
}

Конечно, это только приводит к подробному просмотру. Я хочу, чтобы он использовал "initializeBudget" для случая, когда budget.initialized = false Как мне реализовать метод performSegue:withIdentifier:, чтобы сделать это?

1 Ответ

4 голосов
/ 27 марта 2012

Вам нужно запустить метод performSegueWithIdentifier в зависимости от вашего состояния.

Что-то вроде:

if ([self.budgetPlan.budgets count] > 0) {
    [self performSegueWithIdentifier@"showDetailsOfBudget"];
} else {
    [self performSegueWithIdentifier@"createBudget"];
}
...