친애하는 전문가와 친구,아이폰 OS : 앱 종료된다
안녕, 나는 하루 종일이를 얻기 위해 노력 해왔다 때 NSDefault가 /로드를 저장하지 않습니다,하지만 난 시도 아무것도 작동하는 것 같다 없습니다. 기본적으로 NSDefault를 사용하여 문자열 배열 (최대 : 20, 무거운 무게)을 저장하고 싶습니다. 그것은 저장, 괜찮로드하지만, 마이너스 버튼을 눌러 실제 장치에 응용 프로그램을 죽일 때 아닙니다. iPhone 4gs (iOS 6)에서 테스트했습니다.
시도했습니다.
하지만 작동하지 않았습니다.
[[NSUserDefaults standardUserDefaults] synchronize];
in both
applicationWillTerminate:(UIApplication *)application
and
applicationDidEnterBackground:(UIApplication *)application
참고 : NSLog에서 실제 장치의 백그라운드에서 응용 프로그램을 종료하지 않는 한 NSDefault에서 값을 다시 가져옵니다.
이유를 아는 사람이 있습니까? 미리 감사드립니다. 견본을 인용하십시오.
========================= 편집 (추가 CODE) :
나는 희망, 일부 코드에 추가하고 그것을 그 누군가가 정말로 나를 도울 수 있다는 것을 분명히합니다.
미리 감사드립니다. 다음 어떤 조치 모두
self.count = [NSNumber numberWithInt:[self.count intValue] + 1];
count is a NSNumber
NSData *count = [NSKeyedArchiver archivedDataWithRootObject:self.count];
[[NSUserDefaults standardUserDefaults] setObject:count forKey:@"count"];
[[NSUserDefaults standardUserDefaults] synchronize];
arrayForSavedKey is a NSMutableArray
[[NSUserDefaults standardUserDefaults] synchronize];
NSData *array = [NSKeyedArchiver archivedDataWithRootObject:self.arrayForSavedKey];
[[NSUserDefaults standardUserDefaults] setObject:array forKey:@"arrayForSavedKeys"];
:
applicationWillResignActive : I가 시도
applicationWillEnterBackground:(UIApplication *)application
(UIApplication *) 애플리케이션 [NSUserDefaults standardUserDefaults] 동기화] 다음 줄을 추가; loadSavedData 및과 같이 아카이브 해제 :
이NSData *savedKeys = [[NSUserDefaults standardUserDefaults] objectForKey:@"arrayForSavedKeys"];<br>
NSMutableArray *array = [[NSMutableArray alloc] initWithArray:[NSKeyedUnarchiver unarchiveObjectWithData:savedKeys]];<br>
self.arrayForSavedKey = [[NSMutableArray alloc] initWithArray: array];<br>
이
(거기에 몇 NSStrings 있습니다) 데이터를 검색하려면, 나는 호출하여 클래스의 메소드를 호출 할 수있는 위임을 어느 NSLOG 출력 및 모든 건 괜찮아요 그래서 난 빼기 기호로 응용 프로그램을 죽이지 마라. (실제 앱을 사용하면 NSLog에서 아무 것도 볼 수 없습니다. 일단 앱을 죽이면 앱이 xCode에서도 실행을 멈 춥니 다.)
오늘 하루 종일 보냈습니다. 내 지혜. 도와주세요.
디버거 (또는 'NSLog' 문)를 사용하여 앱이 백그라운드로 들어갈 때'synchronize'에 도달했음을 확인 했습니까? – rmaddy