2016-10-10 10 views
0

UserDefaults를 사용하여 내 앱의 특정 부분에 특정 설정을 저장하는 saveState() 메소드를 만들었습니다. 앱을 종료하고 돌아 왔을 때 제대로 작동하지만 실제로 (iOS) 휴대 전화를 끄면 앱을 다시 시작하면 설정이 저장되지 않습니다. 코드에서 saveState() 메서드를 호출하는 곳 외에도 세 개의 AppDelegate 함수 (예 : applicationWillResignActive, applicationDidEnterBackground 및 applicationWillTerminate)에서 saveState()를 호출합니다. viewDidLoad에 loadState() 함수가있어 저장된 정보가 그 시간에로드됩니다. 누구든지 내가 뭘하고 있는지 알지 못합니까? 전화 전원이 꺼지면 설정을 저장/복원 하시겠습니까?전화가 꺼질 때 상태 저장하기

+0

특정 이벤트를 사용하여 저장을 트리거하는 대신 (휴대 전화가 꺼져 있음을 앱에 알리는 이벤트가 없음) 변경 사항이있을 때마다 데이터를 저장해야합니다. 중요하지 않습니다. 무슨 일이 일어나는가 – Paulw11

+0

고마워요 Paulw11! 그래서, 제 응용 프로그램의 특정 (변경) 지점에서 Userdefaults를 사용하면 AppDelegate에서 State를 추가로 저장할 필요가 없다는 것을 말하고 있다고 생각합니다. 이미 완료되었습니다. 그게 맞습니까? – punated

+0

맞습니다. 저장하는 데 실제 비용이 들지 않으므로 데이터를 변경할 때 언제든지 할 수 있습니다. – Paulw11

답변

0

때 아이폰 오프, AppDelegate에의 applicationWillTerminate

기능은 응용 프로그램이 종료 될 때 호출

방법을 사용 synchronize()에 대한 후 사과 API에서

전화() 당신의 saveState https://developer.apple.com/reference/foundation/userdefaults/1414005-synchronize

영구 도메인에 대한 수정 사항을 디스크에 기록하고 수정되지 않은 영구 doma를 모두 업데이트합니다. 디스크에 무엇이 있는지 확인하십시오.

+0

'applicationWillTerminate'을 호출 할 수 없습니다. OP는 이미이 기능을 구현했다고 말합니다. – Paulw11

관련 문제