gpt4 book ai didi

iphone - 从 UITableViewController 启动 UIViewcontroller 会使应用程序崩溃

转载 作者:行者123 更新时间:2023-12-03 20:53:05 24 4
gpt4 key购买 nike

我有一个 UItableViewController。在这个类中有以下方法,我试图启动另一个 UIViewController。我尝试使用 segue 连接两者并给它一个标识符,然后使用这个版本:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {    
NSLog(@"About to launch MyDetail View controller");
[self performSegueWithIdentifier:@"myDetailSegue" sender:self];
}

这不起作用,应用程序卡住了,我在 main.m 文件中收到一条消息,如下所示:““线程 1 收到信号 Sigabrt”

然后删除了segue并尝试实例化UIViewcontroller,如下所示,

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
NSLog(@"About to launch my Detail View controller");
UIStoryboard *sboard = [UIStoryboard storyboardWithName:@"iPhone" bundle:nil];
UIViewController *myDetailVC = [sboard instantiateViewControllerWithIdentifier:@"myDetailVC"];
[self.navigationController pushViewController:myDetailVC animated:YES];
}

这有效。但现在我很困惑。为什么 UIStoryboard 方式可以工作而 segue 不行???有人可以帮忙吗,我很困惑。

最佳答案

我不明白你到底面临什么问题,但我想告诉你,因为你首先使用 uitableview ,请将其单元格连接到新的 View Controller 并选择“推送”segue 方法。完成此操作后,请在应用程序中添加以下代码,而不是用户 didselectricwatindexpath 方法。

  • (void)prepareForSegue:(UIStoryboardSegue *)segue 发件人:(id)sender {

    /* 当选择一行时,segue 将创建详细 View Controller 作为目标。 将详细信息 View Controller 的详细信息项设置为与所选行关联的项。 */if ([[segue 标识符] isEqualToString:@"Showcategorydetails"]) {

    NSIndexPath *selectedRowIndex = [self.tableView indexPathForSelectedRow];
    CategoryDetailsController *detailViewController = [segue destinationViewController];
    detailViewController.category_title = [maincategories_array objectAtIndex:selectedRowIndex.row];

    }}

关于iphone - 从 UITableViewController 启动 UIViewcontroller 会使应用程序崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8675812/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com