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”而终止应用程序,原因:“无法将自我添加为子视图”请无论谁投票反对,务必在评论中提供原因,因为这有助于改进答案以及知识共享。