我为主视图控制器创建了一个底部滑动视图控制器,但我不确定如何将信息从主视图控制器传递到滑动控制器。我在主视图控制器中有一个按钮,可以显示或隐藏滑动视图控制器,我想使用按钮传递信息。下面的代码是显示/隐藏滑动视图控制器的按钮的IBAction,但没有segue我不知道如何传递任何东西。
- (IBAction)btnMoveToShowBottomView:(id)sender {
UIButton *button = sender;
switch (button.tag) {
case 0:
[_delegate moveToHideBottomTableView];
break;
case 1:
BottomTableViewController *tableScreen = [[BottomTableViewController alloc]...];
tableScreen.photoDesc = selectedPhotoDesc;
[_delegate moveToShowBottomTableView];
break;
default:
break;
}
}
在上面的代码中,我试图访问滑动视图控制器(带有一个名为BottomTableViewController的类),但似乎有一个问题,因为当我尝试访问该对象时它要求一个预期的表达式class(一个名为photoDesc的NSString)。
答案 0 :(得分:0)
您可以使用NSNotification机制:
在必须获取param注册通知的控制器中:
-(void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
[[NSNotificaitonCenter defaultCenter] addObserver: self selector:@selector(handleParam:) name:@"myNotification" object: nil];
}
- (void)viewWillDisappear:(BOOL)animated
{
[super viewWillDisappear:animated];
[[NSNotificationCenter defaultCenter] removeObserver:self];
}
- (void)handleParam:(NSNotification*)notification
{
if ([notification.name isEqualToString:@"myNotification")
{
id myParam = notification.object;
}
}
在必须发送参数的控制器中:
[[NSNotificationCenter defaultCenter] postNotificationName:@"myNotification" object: myObject];
答案 1 :(得分:0)
两种选择: 1)https://medium.com/@jigarm/nsuserdefaults-iphone-objective-c-514febbbf29b
2)你试过传递
吗? self
和
selectedPhotoDesc
到函数
moveToShowBottomTableView