내가 다음과 같이 NSUserDefaults를 사용하여 내 사전을 저장 특정 시간 후 그 값을 지 웁니다NSUserDefaults는
NSData *data = [NSKeyedArchiver archivedDataWithRootObject:dictionary];
[[NSUserDefaults standardUserDefaults] setObject:data forKey:@"key"];
[[NSUserDefaults standardUserDefaults] synchronize];
// unarchive
NSData *newData = [[NSUserDefaults standardUserDefaults] objectForKey:@"key"];
NSDictionary *newDict = [NSKeyedUnarchiver unarchiveObjectWithData:data];
문제 : dicitionary 대부분 (일부 다른 값과 이름 값을 포함하고 있지만, 특정 기간 이후 24 시간 후), 이름 값은 나에게 ""(공백) 값을줍니다.
처음으로 이런 종류의 문제가 발생하는 경우이를 해결하는 데 도움이됩니다.
감사합니다.
'NSUserDefaults'에 보관 된 객체를 쓰지 말고 대신'.plist'를 사용하여 NSDictionary를 유지하십시오. – Michael
NSdata에 데이터가 있는지 여부를 확인 했습니까? nil 또는 null을 제외한 모든 값을 newData에 기록하면 보관 또는 보관시 문제가 될 수 있습니다. – Bhoomi
ios 코드에이 스 니펫을 배치 한 곳입니다. –