使用segue在两个表之间传递数据

时间:2013-11-25 13:35:42

标签: ios uinavigationcontroller tableview segue

我有两个表和一个视图控制器,一个包含类别(首都城市,大城市,小城市),当您点击任何类别时,它会为您提供每个类别的详细信息,例如 首都城市 - (伦敦,纽约,巴黎,渥太华),当您点击详细信息时,它会为您提供地图(视图控制器)

我在详细信息表上创建了一个数组,例如

    NSArray *CapitalCities =[NSArray alloc] initWithObjects:@"London", @"New York",
    @"Paris", @"Ottawa", nil]

      NSArray *LargeCities=another array etc

我在详细信息city上有一个整数属性,称为rowNumber,用于跟踪单击的行并列出相应的数组

我遇到的问题是segue

由于segue仅在源嵌入导航控制器时有效,这意味着表1和表2都嵌入在导航控制器中,除了viewcontroller

 -(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
    if([segue.identifier isEqualToString:@"showList"]){




        NSIndexPath *indexPath = [self.myTable indexPathForSelectedRow];

        UINavigationController *navController = (UINavigationController
        *)segue.destinationViewController;
        CategoryViewController *destViewController = 
          (CategoryViewController*)navController.topViewController;


        NSString *myCategory=[categoriesArray objectAtIndex:indexPath.row];


        if ([myCategory isEqualToString:@"capital cities"])
        { 
       //make row number 0 so that you can load capitalCities array
          destViewController.rowNumber = 0;
             } if (([myCategory isEqualToString:@"Small Cities"]))
          {
          // make row number so that you can load small cities array on the next page
          destViewController.rowNumber = 1;
          }

下一页

    - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:  
     (NSInteger)section
      {
       if(rowNumber==0)
       {
        return capitalCities.count;
        }else
         return other arrays

这不起作用,任何线索?

0 个答案:

没有答案