【发布时间】:2014-02-06 07:59:00
【问题描述】:
我正在尝试实现一个幻灯片菜单,当您选择一个选项时,它会向第二个视图控制器发送一个变量值,该控制器具有来自解析的查询,该查询将根据幻灯片菜单中的选定值进行更新.
如何将变量从 didSelectRowAtIndexPath 传递到另一个视图控制器
menuViewController.h
@property (strong, nonatomic)NSString *passVariable;
menuViewController.m
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
NSString *identifier = [NSString stringWithFormat:@"%@", [self.menu objectAtIndex:indexPath.row]];
UIViewController *newTopViewController = [self.storyboard instantiateViewControllerWithIdentifier:identifier];
_passVariable = @"FieldName";
[self.slidingViewController anchorTopViewOffScreenTo:ECRight animations:nil onComplete:^{
CGRect frame = self.slidingViewController.topViewController.view.frame;
self.slidingViewController.topViewController = newTopViewController;
self.slidingViewController.topViewController.view.frame = frame;
[self.slidingViewController resetTopView];
}];
}
SecondViewController.m
NSString *vName = MenuViewViewController.passVariable;
上面试过了,但是passVariable在secondViewController.m中不起作用
【问题讨论】:
-
需要明确的是,这个 'didSelectRowAtIndexPath' 方法是否在 MenuViewController 中?另外,这个'newTopViewController'是'SecondViewController'吗?
-
是的,它在菜单 vie 控制器中,而 newTopViewController 不是第二个视图控制器
标签: ios ios7 uitableview didselectrowatindexpath