调用相同的视图控制器但需要不同的操作

时间:2012-06-06 13:36:25

标签: iphone uitableview uiviewcontroller xcode4.2 didselectrowatindexpath

我有一个视图控制器,其中包含UITableView中的类别列表。我在其他三个视图控制器中推送此视图控制器。因此,当调用时,我不希望发生同样的tableView功能

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{ 
self.index = indexPath;
[retrieveName getItemName:[self.arrayForCategories objectAtIndex:indexPath.row]];
[self dismissModalViewControllerAnimated:YES];
[tableView reloadData];
}

此方法仅在从一个视图控制器调用时才有效。任何想法??

2 个答案:

答案 0 :(得分:2)

在您正在推送的视图控制器中放置一个属性,以确定选择时应执行的操作。让推动它的视图控制器设置属性。检查您显示的方法开头的属性值。

答案 1 :(得分:1)

您可以继承视图控制器,并在子类中包含该方法。然后,您只需将子类用于您希望该功能的视图控制器。

或者,您可以使用BOOL属性来确定表视图是否应该响应选择,并在推送视图控制器之前设置该属性(在prepareForSegue中设置它:sender:如果您使用的是故事板)。