我有一个递归调用来执行用户的一些记录动作。虽然使用以下递归调用执行动画,但如果用户按下后退按钮将视图控制器弹出堆栈,动画不会停止,我可以在控制台上看到日志条目(代表不同的日志移动)。
-(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];
}
}
可能是因为视图控制器中的任何泄漏?为了您的方便,让我告诉您,我没有达到 VC 的 dealloc 方法。
提前致谢。
问候, 奥贝德