我正在尝试将不同的数据集加载到单个uitableview中,这取决于在上一个视图的tableView:didSelectRowAtIndexPath:方法中选择了哪个单元格。
我想要做的是在新推送的视图中设置一个值,该值可以将我所做的请求更改为我选择的php脚本。
例如,如果我可以传递我的新推送的视图,我会有一个if语句或者一个开关,那个switch语句将使用我的ASIFormDataRequest包装器我告诉我的请求nsobject执行php脚本我与此单元格选择有关,然后传回数据。
我希望这是有道理的,如果你对我想要实现的目标有任何经验,并且能够看到更好的方法,我很乐意听到它。
答案 0 :(得分:1)
您可以在详细视图控制器中创建一个属性,该属性将从didSelectRowAtIndexPath:方法设置。这假设您将数据存储在NSArray中作为数字数组。你的实现可能会有所不同,但想法是一样的。
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
DetailViewController *detailViewController = [[DetailViewController alloc] init]];
detailViewController.number = [self.mydata objectAtIndex:indexPath.row];
[self.navigationController pushViewController:detailViewController animated:YES];
[detailViewController release];
}
如果您愿意,还可以创建自定义init方法来传递此信息。在init方法中,您可以从传递给它的参数中设置属性。
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
DetailViewController *detailViewController = [[DetailViewController alloc] initWithNumber:[self.mydata objectAtIndex:indexPath.row]];
[self.navigationController pushViewController:detailViewController animated:YES];
[detailViewController release];
}