我正在开发一个具有TabView控制器的应用程序,并且在每个选项卡中都有一个TabeView,我将TableView委托和dataSource设置为Object的主ViewController。我使用以下代码尝试将新的ViewController推送到NavigationController:
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
DonationsDataViewController *data = [self.storyboard instantiateViewControllerWithIdentifier:@"donationData"];
//TODO set data to be passed;
[self.navigationController pushViewController:data animated:YES];
NSLog(@"Show donation details.");
}
我遇到的问题是该应用程序没有崩溃,我得到了我的日志:显示捐赠详情。但它从未推动过ViewController,我在这里做错了什么?如果是这样,那么解决问题的适当途径是什么?
修改
答案 0 :(得分:1)
您是否验证了navigationController实例不是nil?将消息发送到nil的实例在Objective-C中是有效的,与C#/ Java不同,在C#/ Java中调用null的实例上的方法将引发异常。