2011-03-07 21 views
0

所以现在我有以下代码:Xcode中如果UITableView的单元格内容的isEqual

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

基本上,这个代码表示,如果等于该行“氢”(这是一个UITableView行) ,那么它将加载名为“Hydrogen.xib”的XIB。但是,当我将搜索栏添加到我的代码时,搜索工作正常,但是当我点击结果时,显示的行始终是表中的第一行。我将如何解决这个问题,我认为这与上面的代码中的行有关...

谢谢!

回答

0

你可以复制你的数组,但把视图控制器作为字符串代替。 然后使用:

Class detailClass = NSClassFromString([controllersArray objectAtIndex:[indexPath row]]); 

UIViewController* detailViewController = [[[detailClass alloc] initWithNibName:nil bundle:nil] autorelease]; 

[self.navigationController pushViewController:detailViewController animated:YES]; 
相关问题