Objective-C,Storyboard:instantiateViewControllerWithIdentif
发布时间:2020-12-16 06:47:03 所属栏目:百科 来源:网络整理
导读:我有一个UITableViewController,它有一个storyboard push segue,从原型单元格链接到一个详细页面,一个普通的旧UIViewController.在故事板中,细节ViewController具有标识符,并且segue具有与细节标识符相同的标识符,除了第一个字母是小写的.此外,细节ViewContr
我有一个UITableViewController,它有一个storyboard push segue,从原型单元格链接到一个详细页面,一个普通的旧UIViewController.在故事板中,细节ViewController具有标识符,并且segue具有与细节标识符相同的标识符,除了第一个字母是小写的.此外,细节ViewController有一个在类下拉列表中选择的“自定义类”(AttractionDetailViewController).
不行.问题是instantiateViewControllerWithIdentifier:@“AttractionDetails返回nil. 相关代码.首先是调试器从未输入的prepareForSegue方法. -(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { if ([[segue identifier] isEqualToString:@"attractionDetails"]) { AttractionDetailViewController *attrDetailVC = [segue destinationViewController]; } } 相反,它进入这个方法: - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { //AttractionDetailViewController *attrDetailVC = [[AttractionDetailViewController alloc] init]; AttractionDetailViewController *attrDetailVC = [self.storyboard instantiateViewControllerWithIdentifier:@"AttractionDetails"]; NSIndexPath *selIndexPath = [self.tableView indexPathForSelectedRow]; attrDetailVC.theAttraction = [attractions objectAtIndex:indexPath.row]; [self.navigationController pushViewController:attrDetailVC animated:YES]; } 由于instantiateViewControllerWithIdentifier返回nil,因此它会引发异常.真正有趣的是,如果我使用alloc init线,它可以工作,但屏幕全黑. 无论如何,我已经读过这个并尝试了一些不同的东西,我仍然受到阻碍.有没有人有什么建议? 解决方法
问题是你没有从故事板中实例化你的主视图控制器(UITableViewController),所以它的storyboard属性是零.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |