的iOS回到父视图控制器
我使用的iOS PAYAL SDK,我想回去父视图控制器在功能sendCompletedPaymentToServer使用:的iOS回到父视图控制器
[self.navigationController popViewControllerAnimated:YES]
和:
[self dismissViewControllerAnimated:YES completion:nil]
应用坠毁。 ParentViewcontroller可以不同。
它发生在我第二次点击工资按钮时。 错误日志:
2016-03-07 11:49:52.212 Ova [7169:2862312]对于开始/结束外观转换的不平衡调用。 2016-03-07 11:50:02.525 Ova [7169:2862312] *因未捕获异常'NSRangeException'而终止应用程序,原因:'* - [__ NSArray0 objectAtIndex:]:索引0超出空NSArray的界限' ***第一掷调用堆栈: (0x184915900 0x183f83f80 0x184891478 0x100145268 0x10014494c 0x100144ba4 0x10011a200 0x100116a9c 0x10010aafc 0x100150200 0x1010cdbf0 0x1010cdbb0 0x1010d3658 0x1848ccbb0 0x1848caa18 0x1847f9680 0x185d08088 0x189670d90 0x10006ec28 0x18439a8b8) 的libC++ abi.dylib:与类型的未捕获的异常终止NSException
您正在使用:
[self.navigationController popViewControllerAnimated:YES];
这会使您回到视图控制器。如果你想导航回到先前的视图控制器,你应该执行:
[self.navigationController popToRootViewControllerAnimated:YES];
我得到这个:不平衡的调用myViewController开始/结束外观转换,并没有发生。当我点击再次支付应用程序崩溃。 – Rockers23
将您的代码移到viewDidAppear中,警告应该消失。 viewDidLoad的问题在于UINavigationController尚未完成其动画。所以,当模态的动画发生时,导航控制器的动画仍然在发生。 –
我的代码进入sendCompletedPaymentToServer方法。我使用Paypal SDK,我想在paypal付款后返回到parentViewController。当我使用[self dismissViewControllerAnimated:YES completion:nil]它回到我的第一个ViewController而不是父级。 – Rockers23
通过添加BOOL变量来测试付款是否成功。并进入viewWillAppear我使用:
[self.navigationController popViewControllerAnimated:YES];
谢谢大家。
我们在整合PayU网关时也有同样的问题。
我建议您使用协议委托方法来呈现您在其Web视图中加载Payal的视图控制器。
让第二个视图控制器是您正在加载Payal和第一个视图控制器呈现第二个视图控制器。
1.在第二视图控制器宣告协议将驳回secondviewcontroller.m文件secondviewcontroller
@protocol DismissPayalDelegate <NSObject>
@required
-(void)dismissPayal:(id)viewcontroller;
@end
@interface secondviewcontroller : UIViewController
@property(strong, nonatomic) id <DismissPayalDelegate> delegate;
@end
合成委托对象。
在第一个视图控制器中,如果使用performSegeuWithIdentifier(呈现第二个vc即Payal),则使用getviewviewController的实例,即secondviewcontroller。
设置destinationviewcontrollerInstance.delegate = self;
在secondViewController的成功/失败的方法写入代码以关闭视图控制器
[delegate dismissPayal:self];<br><br>
它将解散第二视图控制器的实例在performSegueWithIdentifier方法
使用此逻辑呈现,我希望它能帮助你很多。
好吧,我会尝试。我认为这比我的解决方案好。谢谢 – Rockers23
如有任何问题,请告知我。 –
请问您可以添加崩溃日志数据。 –
从'exception'看起来你正试图访问nil'Array index'。 –
支付后是所有对象从数组中删除,并应回到父视图控制器。 – Rockers23