更改主视图后,详细的表视图不起作用

时间:2011-07-06 01:42:03

标签: iphone cocoa-touch xcode4

我是编程新手,我遇到了以下问题。

我有一个基于导航的应用程序,它可以在表格中显示来自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";

}

1 个答案:

答案 0 :(得分:0)

我认为你有结构性问题。这就是我要做的事情:

  1. 更改应用,使其以简单(非UINavigation)视图开头。这是您的登录视图。

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

  3. 基本思路是在用户登录之前不使用基于导航的系统。您的描述听起来好像是从导航视图开始,然后尝试添加登录。反过来说比较容易。