调用相同的视图控制器但需要不同的操作
Posted
技术标签:
【中文标题】调用相同的视图控制器但需要不同的操作【英文标题】:Calling same view Controller but need different actions 【发布时间】:2012-06-06 13:36:24 【问题描述】:我有一个视图控制器,其中包含一个 UITableView 中的类别列表。我将此视图控制器推送到其他三个视图控制器中。所以当我不希望发生这种情况时,tableView 的相同功能将被应用.
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
self.index = indexPath;
[retrieveName getItemName:[self.arrayForCategories objectAtIndex:indexPath.row]];
[self dismissModalViewControllerAnimated:YES];
[tableView reloadData];
这个方法应该只在从一个视图控制器调用时才有效。有什么想法吗??
【问题讨论】:
【参考方案1】:在您推送的视图控制器中放置一个属性,以确定它在选择时应该做什么。让推动它的视图控制器设置属性。检查您显示的方法开始处的属性值。
【讨论】:
我想......但是如果没有看到你的控制器,我真的无法告诉你把它放在哪里。答案的哪一部分你不明白怎么写? 我是 iphone 开发新手。所以我对要设置什么属性感到困惑。任何粗略的例子都会有所帮助!【参考方案2】:您可以子类化视图控制器,并将该方法包含在子类中。然后,您只需将子类用于您想要该功能的视图控制器。
或者,您可以有一个 BOOL 属性来确定表视图是否应该响应选择,并在推送视图控制器之前设置该属性(如果您使用的是故事板,请在 prepareForSegue:sender: 中设置它)。
【讨论】:
以上是关于调用相同的视图控制器但需要不同的操作的主要内容,如果未能解决你的问题,请参考以下文章