gpt4 book ai didi

iphone - 在选择 UITableViewCell 时导航到 New DetailViewController

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:47:53 26 4
gpt4 key购买 nike

问题:在选择特定的 uitableviewcell 时,应该打开一个新的 DetailViewController。我已经在 didSelectRowAtIndexPath 中编写了代码,但是当我单击该单元格时,它显示运行时错误。

我尝试使用 [self.navigationController presentModalViewController:jacket animated:YES ]; 调用,但是当我调用时我的 View Controller 没有打开。

我尝试的另一种方法是通过 [self.navigationController performSegueWithIdentifier:@"JacketDetails"sender:self ];

我在 segued 中指定了标识符,在检查器中有“JacketDetails”,但在这里我遇到了运行错误。我已将 UITABLEVIEWCELL 的 Segue 连接到 VIEWCONTROLLER

当我点击 JacketDetailViewController 行时应该打开。我已经创建了类 JacketDetailViewController,对于 New ViewController,我已经在检查器中为此设置了类。

我不知道为什么它没有显示 segue ,我已经在检查器中给出了标识符并正确地从 tableviewcell 连接到新的 View Controller 。

JacketDetailViewController 中,我想显示夹克列表。目前它是空白的 ViewController

我的代码如下。你能提出一个解决方案吗?我是这个领域的自学初学者。我可能犯了一些小错误。我用谷歌搜索了我的问题并试图解决它,但我已经被困在这里几天了。

TshirtDetailViewController.m

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
// Navigation logic may go here. Create and push another view controller.

[tableView deselectRowAtIndexPath:indexPath animated:YES ];

JacketDetailController *jacket =[[JacketDetailController alloc]init];

NSInteger index =indexPath.row;

NSLog(@"Row:%d",index);


NSString *titleString = [[NSString alloc] initWithFormat:[jackets objectAtIndex:indexPath.row]];


NSLog(@"%@",titleString);
jacket.title=titleString;


// ...
// Pass the selected object to the new view controller.

[self.navigationController performSegueWithIdentifier:@"JacketDetails" sender:self ];


// [self.navigationController presentModalViewController:jacket animated:YES ];

}


@end

控制台错误:

2013-01-07 10:52:21.020 KidsShopee[617:f803] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Receiver (<UINavigationController: 0x6a5fac0>) has no segue with identifier 'JacketDetails''

*** First throw call stack:

(0x13bf052 0x1550d0a 0xdd24b 0x3e8e 0xa671d 0xa6952 0x92e86d 0x1393966 0x1393407 0x12f67c0 0x12f5db4 0x12f5ccb 0x12a8879 0x12a893e 0x16a9b 0x1b08 0x1a65 0x1)
terminate called throwing an exception(gdb)

最佳答案

尝试用这些行打开 View :

    YoutubeViewController *objYoutubeViewController = [[YoutubeViewController alloc]initWithNibName:@"YoutubeViewController" bundle:[NSBundle mainBundle]];
[self.navigationController pushViewController:objYoutubeViewController animated:YES];
[objYoutubeViewController release];

代替 YoutubeViewController 给你的 View Controller 类名并改变这些行

根据您的说法并检查。好的,如果您使用 Storyboard,请尝试以下操作:

UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
bookmarkViewController *myVC = (bookmarkViewController *)[mainStoryboard instantiateViewControllerWithIdentifier:@"bookmarkViewController"]
[self presentModalViewController:myVC animated:YES];

代替 bookmarkViewController 给出你的 Controller 名称并检查。在拖放 View 中

主 Storyboard中的 Controller 给出正确的类名,如下图所示:enter image description here

代替我的 bookmarkViewController 名称,输入您要打开的 View Controller 名称。

关于iphone - 在选择 UITableViewCell 时导航到 New DetailViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14190370/

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