문제

My Application은 NSUserDefaults를 사용하여 일부 값을 저장하여 응용 프로그램 업데이트에서 복원 할 수 있거나 백인 작업이 종료되도록합니다.백그라운드 링은 정수 값을 자동으로 저장하지만 사용자가 실행 프로그램에서 응용 프로그램을 종료하면 숫자가 손실되며 viewDidUnload 메서드가 배경을 입력 할 때 발생하지 않습니다.응용 프로그램이 언로드 할 때마다 NSUSERDEFAULTS를 저장할 수있는 방법이 있습니다.또한 ViewDidIdload 메서드는 동일한 문제가 있었으며 백업을 불러 일으키지 않습니다.이런 방식은 무엇입니까?

p.s.지금까지는 응용 프로그램이 저장 해야하는 유일한 데이터만이 화면 수의 int입니다.

업데이트 : UIAPPlicationDidenterBackgroundingNotification은 귀하의 제안과 함께 훌륭합니다!

도움이 되었습니까?

해결책

결국 사망하기 전에 데이터를 저장할 수는 없지만 ApplicationDidenterBackground : 앱 대리인

ApplicationDidbeComeacive :하지만 백그라운드에서 앱에서 호출 된 경우 데이터가 어떤 방법으로 보존되었을 때 데이터를 저장할 이유가 없습니다.

다른 팁

앱이 백그라운드에서 시작되었는지 여부를 알 수 없으며 앱 대리인이 Springboard에서 시작된 경우 동일한 일련의 이벤트를 얻을 수 있기 때문에 현재 설정된 방법을 알려줍니다.

Joost가 말한 것처럼 ApplicationDidenterBackground 콜백 내부의 상태를 복원하는 데 필요한 것을 저장해야합니다.본질적으로, 당신은 이것이 사악한 프로세스 사신에 의해 무자비하게 살해되기 전에 앱이 얻을 마지막 메시지라고 가정해야합니다.

WWDC 2010 세션 비디오 , 특히 세션 105를 확인해야합니다.- iPhone OS에서 멀티 태스킹, 철저한 설명을 위해 Part 1.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top