我有一个基于导航控制器的应用程序。我的观点包括两个如下所示的表格:
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];
来自ItemViewController中的viewDidLoad:
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];
}
答案 0 :(得分:1)
将items数组的初始化移动到ItemViewController中的viewDidAppear并调用reloadData。只有在第一次分配和推送ItemViewController时才会调用viewDidLoad。