, 인코딩 및 디코딩 (자신의 개체와 관련된 무엇인가)에 대해 다음 두 가지 방법으로 구현 : NSUserDefaults
에서
- (void)encodeWithCoder:(NSCoder *)encoder {
//Encode properties, other class variables, etc
[encoder encodeObject:self.name forKey:@"name"];
}
- (id)initWithCoder:(NSCoder *)decoder {
if((self = [super init])) {
//decode properties, other class vars
self.name = [decoder decodeObjectForKey:@"name"];
}
return self;
}
읽기와 쓰기를 :
- (void)saveCustomObject:(MyObject *)object key:(NSString *)key {
NSData *encodedObject = [NSKeyedArchiver archivedDataWithRootObject:object];
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:encodedObject forKey:key];
[defaults synchronize];
}
- (MyObject *)loadCustomObjectWithKey:(NSString *)key {
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSData *encodedObject = [defaults objectForKey:key];
MyObject *object = [NSKeyedUnarchiver unarchiveObjectWithData:encodedObject];
return object;
}
코드에서 빌린 : save class in NSUserDefaults
왜 NSUserDefaults에 버튼의 선택된 상태를 저장하겠습니까? – Droppy
내가 눌린 버튼에 따라 조건이 있기 때문에 – aboodmanna
당신은 앱의 다른 부분들 사이에 정보를 전달하기 위해 NSUserDefaults를 사용하고 있습니까? – Droppy