UITableView - 通过单击单元格推送视图

时间:2011-03-09 13:29:07

标签: objective-c if-statement push while-loop

我创建了一个带有一些单元格的UITableView(从一个数组加载),当我点击一个单元格时,下面的代码用点击的单元格推送名称。有没有更简单的方法呢?也许是在一段时间内?

if ([[arrayWeitere objectAtIndex:indexPath.row] isEqual:@"Schulsekretariat"]){
    Schulsekretariat *schulsekretariat = [[Schulsekretariat alloc] initWithNibName:@"Schulsekretariat" bundle:nil];
    [self.navigationController pushViewController:schulsekretariat animated:YES];
    [schulsekretariat release];
}


else if ([[arrayWeitere objectAtIndex:indexPath.row] isEqual:@"Zivilstandesamt"]){
    Zivilstandesamt *zivilstandesamt = [[Zivilstandesamt alloc] initWithNibName:@"Zivilstandesamt" bundle:nil];
    [self.navigationController pushViewController:zivilstandesamt animated:YES];
    [zivilstandesamt release];
}

else if ([[arrayWeitere objectAtIndex:indexPath.row] isEqual:@"Feuerwehr"]){
    Feuerwehr *feuerwehr = [[Feuerwehr alloc] initWithNibName:@"Feuerwehr" bundle:nil];
    [self.navigationController pushViewController:feuerwehr animated:YES];
    [feuerwehr release];
}

1 个答案:

答案 0 :(得分:1)

NSString *name = [arrayWeitere objectAtIndex:indexPath.row];
Class *myClass = [Class classNamed:name];

myClass *vc = [[myClass alloc] initWithNibName:name bundle:nil];
if (vc != nil) {
    [self.navigationController pushViewController:vc animated:YES];
}
[vc release];