ios在导航控制器之间传递数据 [英] ios Pass data between navigation controller

查看:88
本文介绍了ios在导航控制器之间传递数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的应用程序有点问题,我在下面有这些视图控制器:

I'm having a bit of a problem with my app, I have these view controllers below:

我有位置视图控制器,其中包含一系列位置,我有一个位置数组在菜单表视图控制器中,我需要将数组从位置传递到菜单表,但我不知道如何,有人可以帮助我吗?我在下面尝试过这个编码:

I have the locations view controller with an array of locations and I have a locations array in the Menu Table view controller, I need to pass the array from Locations to Menu Table, but I dont know how, can somebody Help me? I have tried this coding below:

-(void)pushMenuTableView
{

UIStoryboard *storyboard = self.storyboard;
UINavigationController *menuTableController = (UINavigationController *)[storyboard instantiateViewControllerWithIdentifier:@"MenuTableViewController"];

MenuTableViewController *menuController = (MenuTableViewController *) menuTableController.topViewController;

[self.navigationController pushViewController:menuTableController animated:YES];

}

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
MenuTableViewController *mvc = [[MenuTableViewController alloc]init];
NSIndexPath *path = [self.tableView indexPathForSelectedRow];
Location *selectedLocation = [_locations objectAtIndex:[path row]];
[mvc setLocation:selectedLocation];
[self pushMenuTableView];

}


推荐答案

你可以尝试这样的事情:

You could try something like this:

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

    Location *selectedLocation = [_locations objectAtIndex:indexPath.row];

    vc.location = selectedLocation;

    UINavigationController *nc = [[UINavigationController alloc] initWithRootViewController:vc];

    [self presentViewController:nc animated:YES completion:nil];
}

这篇关于ios在导航控制器之间传递数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆