Objective c iOS 8 alertview:willDismissWithButtonIndex与didDismissWithButtonIndex

Objective c iOS 8 alertview:willDismissWithButtonIndex与didDismissWithButtonIndex,objective-c,ios7,cocos2d-iphone,uialertview,ios8,Objective C,Ios7,Cocos2d Iphone,Uialertview,Ios8,在iOS 8设备上运行为iOS 7.1构建的应用程序时,我遇到了一些崩溃 在进行了一次小规模的研究后,我发现这是由于试图消除一个已经被消除的元素而导致的,错误如下: 当演示或取消正在进行时,尝试从视图控制器取消 不用说,在以前的迁移中没有出现这种情况。 我把撞车的原因追溯到 (void)alertView:(UIAlertView *)alertView willDismissWithButtonIndex:(NSInteger)buttonIndex 而是应用了 (void)alertVie

在iOS 8设备上运行为iOS 7.1构建的应用程序时,我遇到了一些崩溃

在进行了一次小规模的研究后,我发现这是由于试图消除一个已经被消除的元素而导致的,错误如下:

当演示或取消正在进行时,尝试从视图控制器取消

不用说,在以前的迁移中没有出现这种情况。 我把撞车的原因追溯到

(void)alertView:(UIAlertView *)alertView willDismissWithButtonIndex:(NSInteger)buttonIndex
而是应用了

(void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex
这似乎解决了撞车问题

我用的是WillDisclose。。。用于通知尝试退出当前阶段并随后立即关闭该阶段的代理

我的问题是,就我目前的使用情况而言,这两者之间是否存在重大差异,以及在这两者之间切换会产生什么后果

我使用的是cocos2d v1.1.0-beta2b,对我来说,似乎是试图在演示或取消过程中从视图控制器中取消!这是清楚的。在另一次出席或解散期间,正在调用-DismissViewControllerInitiated:completion:

以下是UIAlertViewDelegate的文档:

在解除警报视图之前发送给代理

在警报视图从屏幕上消失后发送给代理

使用-alertView:willDismissWithButtonIndex:时,如果显示或关闭视图控制器,则可能会导致UIAlertView的视图控制器关闭,从而产生错误


使用-alertView:didDismissWithButtonIndex:时,如果显示或关闭视图控制器,则不会出现以下错误:UIAlertView的视图控制器已关闭。

将和已关闭,这意味着:这两个方法在关闭视图之前和之后运行。