2010-10-11 70 views
0

我有一个基于导航控制器的应用程序。我的观点包括两个tableviews如下:UINavigationController总是以相同的数据加载表格视图

Category 
    Item within category 

基本上我允许用户使用导航栏上的+按钮来创建类别。然后他们选择一个类别,然后再次按下+按钮以创建该类别中的项目。

我的问题是,如果我创建一个类别,并添加一些项目,然后返回并选择一个不同的类别,显示第一个类别中的相同项目。

这是我使用didSelectRow创建我的项目控制器:

if (detailViewController==nil) 
    detailViewController = [[ItemViewController alloc] init]; 

detailViewController.category = [[APP_DELEGATE listsArray] objectAtIndex:indexPath.row]; 
[self.navigationController pushViewController:detailViewController animated:YES]; 

从viewDidLoad中在ItemViewController:

items = [[NSMutableArray alloc] initWithCapacity:30]; 

我怎样才能停止显示每个相同的项目?

感谢

编辑:用于填充物品

代码:

- (void)addNameController:(AddName *)addNameController didAddName:(NSString *)name { 

if (name) { 
    NSLog(@"%@", name); 
    [items addObject:name]; 
    [self.tableView reloadData]; 
} 
[self dismissModalViewControllerAnimated:YES]; 
} 

回答

1

移动项目阵列viewDidAppear在ItemViewController的初始化,并调用reloadData。 viewDidLoad只在第一次调用ItemViewController时被调用。

+0

这会导致项目在表格视图中短暂闪烁,然后消失。谢谢 – joec 2010-10-11 15:28:20

+0

你可以显示填充项目的代码吗? viewDidAppear中还有其他工作吗? – Anna 2010-10-11 15:36:33

+0

见上文。谢谢 – joec 2010-10-11 15:49:34

相关问题