在试图找出为什么我的应用程序无法正常工作之后,我意识到我使用的技术是用链接的ViewController替换现有视图作为子视图。
//////////////////////////////////////////覆盖的表演方法如下/////////////////////////
-(void) perform {
ViewController *src = (ViewController *)[self sourceViewController];
UIViewController *dst = (UIViewController *) self.destinationViewController;
for (UIView *view in src.placeholderView.subviews ) {
[view removeFromSuperview];
}
src.currentViewController = dst;
[src.placeholderView addSubview:dst.view]; }
////////////////////////////////////////////// / ////////////////////// /////////////////////// ///// //////////////////
现在,当我在链接的ViewControllers上时,我希望添加另一个链接到另一个ViewController,它将保存每个相应的前一个ViewControllers的信息的编辑功能。现在,当我尝试通过任何Segue连接ViewControllers时,应用程序崩溃并给我一个线程1:EXC_BAD_ACCESS。当我使用NSZombie时,它会在控制台中给我这个,
[UIStoryboardSegueTemplate performSelector:withObject:withObject:]:消息发送到解除分配的实例0x7c3a4d20
不,我理解理论上发生了什么,viewController试图将下一个广告添加到空白区域(我认为整个placeHolder已被删除,因此无法使用viewController)我想,我想知道是否有人可以帮助我这意味着我一直在寻找解决方案,但我一直得到同样的错误。
我甚至为ProfileViewController.m / ProfileViewController.h创建了一个VieController类,其中我添加了
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
if([[segue identifier] isEqualToString:@"ProfileEditSegue"]){
ProfileViewController *cvc = (ProfileViewController *)[segue destinationViewController];
[cvc.placeholderView addSubview:cvc.view];
}
}
这导致我犯同样的错误。我很乐意向任何人发送我的源文件,当我在教程中提供的文件上执行此操作时会发生同样的错误。
PS。我正在使用这种方法,以便我可以有一个垂直导航栏,但我想这样做,所以我也可以学习如何工作,并能够进一步使用/开发它。
任何帮助都会很棒
答案 0 :(得分:0)
问题不在于那些方法,因为currentViewController实例设置为弱而不是强