Как передать данные из одного ViewController в другой после использования Segue? - PullRequest
0 голосов
/ 04 мая 2018

Я перешел с одного ViewController на другой, используя Segue, во втором моем viewController есть UITableView. Теперь я хочу перейти от метода didSelected второго ViewController к другому viewController.

код использования для Segue:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {

self.view.backgroundColor = [UIColor clearColor];
self.modalPresentationStyle = UIModalPresentationOverCurrentContext;

SearchVC *svc = segue.destinationViewController;
self.providesPresentationContextTransitionStyle = YES;
self.definesPresentationContext = YES;
}

под действием кнопки:

-(void) searchButtonClicked:(id)sender {
[self performSegueWithIdentifier:@"search" sender:nil];
}

И главная проблема возникает здесь, не можете перемещаться, используя следующий код:

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
  PackageListVC *pdvc = (PackageListVC *)[self.storyboard instantiateViewControllerWithIdentifier:@"PackageListVC"];

  pdvc.strServiceProviderId = [[[arrSearch objectAtIndex:indexPath.row] objectForKey:@"ServiceProviderId"] stringValue];
  pdvc.strCategoryId = [[[arrSearch objectAtIndex:indexPath.row] objectForKey:@"CategoryId"] stringValue];
  pdvc.strSubCategoryId = [[[arrSearch objectAtIndex:indexPath.row] objectForKey:@"SubCategoryId"] stringValue];
  pdvc.strTitle = [[arrSearch objectAtIndex:indexPath.row] objectForKey:@"CompanyName"];

  [self.navigationController pushViewController:pdvc animated:YES];
}

1 Ответ

0 голосов
/ 04 мая 2018

Вы делаете это методом prepareForSegue.

где вы объявляете svc (SearchVC *svc = segue.destinationViewController;), вы можете сказать что-то вроде:

 svc.variable = 1;
...