2011-07-06 70 views
0

我是新手编程,我有以下问题。更改主视图后,详细的表视图不工作

我有一个基于导航的应用程序,该应用程序可以从表中的SQLite数据库中提取数据,该数据库可以深入到详细视图。我已经改变了应用程序的主视图,以呈现登录视图。

登录视图起作用,表格呈现正确的数据并且正常工作,但是我无法再获取详细的视图来工作。该应用程序不冻结或崩溃,没有错误,但不会显示详细的视图。此外,登录视图在标题中有一个后退按钮,显示已删除的视图。我认为问题在于下面的代码,但我不确定(也许是appDelegate)。

此代码来自RootViewController。

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 

if (dvController == nil) 
    dvController = [[DetailViewController alloc] initWithNibName:@"DetailViewController" bundle: nil]; 

    Clubs *clubObj = [appDelegate.clubArray objectAtIndex:indexPath.row]; 

    [clubObj hydrateDetailViewData]; 

    dvController.clubObj = clubObj; 

    [self.navigationController pushViewController:dvController animated:YES]; 

} 



-(void)viewDidLoad { 
    [super viewDidLoad];  
    appDelegate = (SQLAppDelegate *) [[UIApplication sharedApplication] delegate]; 
    self.title = @"Back"; 

} 

回答

0

我认为你有一个结构性问题。这是我会做的:

  1. 更改应用程序,使它以一个简单的(非UINavigation)视图开始。这是您的登录视图。

  2. 当该视图成功验证用户时,使用removeFromSuperview和addSubView方法将视图更改为导航视图(和控制器),以从窗口中删除登录视图和控制器,并用导航视图和控制器替换它们。

的基本思想是不使用导航为基础的系统,直到你的用户已经登录。您的描述听起来好像你开始使用导航视图,然后试着添加登录。相反,它更容易。

+0

谢谢。我希望我不必再开始。 – Wayne

相关问题