我希望你能就我的问题给我一个建议: 我有一个视图控制器关联到一个类。 我尝试使用相同的viewcontroller来显示不同的信息。' n'时 我的视图包含:imageview和table(在表格中显示结果) 为什么一样? --->因为结构相同:名称和图像
实施例: 1-子类别:衣服,鞋子 2--如果你选择"衣服"它显示:连衣裙,牛仔裤,衬衫。 3--如果你选择了#34; Dresses"它显示:晚礼服,短礼服等 我不知道它什么时候停止,因为它取决于所选的子类别是否有更多要显示的元素。 我控制它,当视图没有要显示的元素时,我发送其他视图,这不是我的问题。
哪个问题? - 问题是我调用相同的视图并且我的数组保持最后接收的值, 如果我想回来(因为我使用导航控制器),我不能选择其他值。
基于previos示例: - 我选择了"衣服" (它有3个结果) - 现在我要回来了,我想要选择"鞋子" 出现: ' * 由于未捕获的异常终止应用' NSRangeException',原因:' - [__ NSCFArray objectAtIndex:]:index(1)超出bounds(1)& #39;'入门
这是因为我的最后一个数组有3个项目,而我按下的单元格有2个。
// ---------MY CODE IS:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
NSString *cat, *nom;
cat = AId[indexPath.row];
nom = ACateg[indexPath.row];
[self wsCategorias: @"0" dato2: cat];
if(existe == FALSE ){
[NSThread detachNewThreadSelector:@selector(cargando:) toTarget:self withObject:nil];
// ------ my process
}
else {
/************************************** CALLING THE SAME VIEW ****************/
Subcategoria1 *sub = [self.storyboard instantiateViewControllerWithIdentifier:@"Sub1"];
sub.idCat = cat;
sub.nomCat = nom;
[self.navigationController pushViewController:sub animated:YES];
}
}
如何使用相同的视图,但每个视图保持正确的值?必须创建新的观点吗?
答案 0 :(得分:1)
所以你要做的是推送和弹出视图控制器看起来相同,但包含不同的数据和一个内部具有不同值的数组。
根据您设置视图控制器的方式,您需要做的是每次要推送到新部分时都要实例化一个新视图控制器。
无论您实例化视图控制器的是谁,都需要为您选择的每个子类别添加一个新视图控制器。
例如,假设您要从显示
的主列表中进行操作然后你选择牛仔裤并希望展示其子项目:
你要做的是实例化一个新的视图控制器,传入subitems数组数据(在这个例子中包含' Adult Jeans'和#39; Kids Jeans')并推送它进入你的导航堆栈。这样,当您点击后退按钮时,iOS将自动返回到您所在的位置,您可以根据需要无休止地重复使用相同的视图控制器和UI。