O ApplicationWiltterinate está atrasado, existe um método mais rápido a ser usado ao desistir?

StackOverflow https://stackoverflow.com/questions/1412871

Pergunta

Estou usando - (void) ApplicationWilTerminate: (NSNotification *) Notificação para salvar os dados quando meu jogo sair e, em seguida, carregá -lo se o usuário pressionar o botão Carregar na próxima vez. A economia e o carregamento funcionam bem, mas notei que há algum atraso entre quando pressiono o botão home e quando os dados são salvos. Sempre que saio, relançar e carregar, o temporizador do jogo continua funcionando e os estados estavam mudando antes que o ApplicationWilterinate seja chamado; Por exemplo, os objetos do jogo em movimento são carregados em diferentes locais, então o que eu vi pela última vez pressionando o botão doméstico. Curiosamente, se eu pressionar o botão doméstico rapidamente. Parece sair do desligamento do aplicativo, e os controles da música aparecem. No entanto, se eu desistisse dessa maneira sempre que carrego os dados novamente, o temporizador não continuava - os objetos do jogo não continuavam se movendo com suas velocidades. Existe uma maneira de contornar isso?

Foi útil?

Solução

Você já olhou UIApplicationWillResignActiveNotification? Algo como o seguinte no tempo de carga / init no seu 'principal controlador' ou UIApplication subclasse:

[[NSNotificationCenter defaultCenter] addObserver:self /* or whatever */ selector:@selector(applicationWillTerminate:) name:UIApplicationWillResignActiveNotification object:NULL];
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top