Ios 如何发送segue
我有一个按钮,当我点击它带我到下一个屏幕,导航栏的名称是第一个屏幕的主,我想当我导航到下一个屏幕时,它应该显示我的标题,而不是后退按钮,到目前为止,我无法得到结果,因为它是抛出我的异常,请帮助我,我的代码如下Ios 如何发送segue,ios,objective-c,segue,navigationbar,Ios,Objective C,Segue,Navigationbar,我有一个按钮,当我点击它带我到下一个屏幕,导航栏的名称是第一个屏幕的主,我想当我导航到下一个屏幕时,它应该显示我的标题,而不是后退按钮,到目前为止,我无法得到结果,因为它是抛出我的异常,请帮助我,我的代码如下 -(IBAction)btnMore:(id)sender { [self performSegueWithIdentifier:@"more" sender:self]; } -(void)prepareForSegue:(UIStoryboardSegue *)segue s
-(IBAction)btnMore:(id)sender
{
[self performSegueWithIdentifier:@"more" sender:self];
}
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(NSString*)sender
{
if ([segue.identifier isEqualToString:@"more"])
{
moreInfo *vc = (moreInfo*)segue.destinationViewController;
vc.str = (NSString*)sender;
}
}
看起来部分问题可能是您的发件人可能是视图控制器,因此将视图控制器强制转换为NSString*没有意义您只需执行以下操作:- //使用IB设置主视图和第二视图的标题 然后它会自动将标题改回给定的标题,如下所示 //后标题替换为主VC的主标题 请像这样尝试 简单的方法。。。 像这样为类创建局部变量
@interface Main() {
NSString *titleOfSecView;
}
-(IBAction)btnMore:(UIButton *)sender
{
titleOfSecView = sender.titleLabel.text;
[self performSegueWithIdentifier:@"more" sender:self];
}
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(NSString*)sender
{
if ([segue.identifier isEqualToString:@"more"])
{
moreInfo *vc = (moreInfo*)segue.destinationViewController;
vc.str = titleOfSecView;
}
}
你有什么例外?任何消息?由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“无法将自我添加为子视图”请无论谁投票反对,务必在评论中提供原因,因为这有助于改进答案以及知识共享。