2011-03-07 24 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]; 
相關問題