iphone - 从导航 Controller 弹出 View 后递归不会停止

标签 iphone objective-c ios sdk

我有一个递归调用来执行一些来自用户的记录 Action 。当使用以下递归调用执行动画时,如果用户按下后退按钮将 View Controller 弹出堆栈,不知何故动画不会停止,我可以在控制台上看到日志条目(代表不同的日志移动)。

-(void)replayNextLog {
    if ((replayLogIndex < [lastTurnGameLogList count]-1) && (!skipReplayButtonWasPressed)) {
        float delayToNextReplay;

        //the replayLogIndex ends with count-1 because the last one is empty due to the last empty line
        NSDictionary *logEntryDict = [lastTurnGameLogList objectAtIndex:replayLogIndex];

        for (id key in logEntryDict) {
            if ([key isEqualToString:kGuessMoveTypeLetterButton]) {

            } else if ([key isEqualToString:kGuessMoveTypeRevealHint]) {

            } else if ([key isEqualToString:kGuessMoveTypeReset]) {

            } else if ([key isEqualToString:kGuessMoveTypePass]) {

            } else if ([key isEqualToString:kGuessMoveTypeShuffle]) {

            }
        }

        replayLogIndex++;

        // Recursive call
        [self performSelector:@selector(replayNextLog) withObject:nil afterDelay:delayToNextReplay];
    }
}

可能是因为 View Controller 中有任何泄漏?为了您的方便,让我告诉您,我没有达到 VC 的 dealloc 方法。

提前致谢。

问候, 奥拜德

最佳答案

您将需要控制动画/递归,可能使用实例变量,并从 viewDidAppear 方法中启动它,并从 viewDidDisappear 方法中停止它。 View Controller 不一定会因为它从导航 Controller 中弹出而被销毁。

关于iphone - 从导航 Controller 弹出 View 后递归不会停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12040035/

相关文章:

iOS 谷歌云消息传递负载

ios - Swift:按字母顺序对数组进行排序

iphone - RestKit 可达性 null

iphone - 如何为 tableView 中的特定单元格将隐藏属性设置为 NO

ios - 导航栏标签栏渐变色

iphone - 如何从子类正确设置父类(super class)属性

ios - 使用 Xcode 和 Swift 在 pageControler 中播放声音文件

iphone - 如何在 iOS 技术中为增强现实创建我们自己的标记?

iphone - 为什么地址词典中没有邮政编码?

iphone - 具有自动布局的 UIWebView 的动态高度