gpt4 book ai didi

objective-c - topViewController 错误(iOS7 - 适用于 iOS8)

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

在我的旧 iPhone 4 (iOS 7.1.2) 上进行一些测试时,我在执行从初始 collectionView 到 tableView 的 segue 时遇到错误。

在 iOS 8 上一切正常,但在 iOS 7 上出现以下错误:

* 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“-[ListaPlatosTableViewController topViewController]:无法识别的选择器发送到实例 0x17df3c70”

我的 prepareForSegue 方法如下:

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {

UINavigationController *nav = [segue destinationViewController];
ListaPlatosTableViewController *listaPlatosVC = (ListaPlatosTableViewController *)nav.topViewController;
[listaPlatosVC setPlatosCarta:platosCarta];

//I have set selectedCell in the method where I call performSegueWithIdentifier
[[[segue destinationViewController]topViewController]setTitle:selectedCell];

}

//更新:这是调用 segue 的代码,以防我忽略了什么

-(void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath {
selectedCell = [tiposCarta objectAtIndex:indexPath.row];
[self ponerPlatosEnCarta]; // I prepare platosCarta with this method
[self performSegueWithIdentifier:@"ListaPlatos" sender:self];
}

有人遇到过吗?

最佳答案

topViewControllerUINavigationController 的属性。

这里是问题所在:enter image description here然后转至 ListaPlatosTableViewController。您的代码应如下所示:

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {

ListaPlatosTableViewController *listaPlatosVC = (ListaPlatosTableViewController *)segue.destinationViewController;

listaPlatosVC.platosCarta = platosCarta;
listaPlatosVC.title = selectedCell;
}

关于objective-c - topViewController 错误(iOS7 - 适用于 iOS8),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28139596/

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