You can use NSUserDefaults . Create a user model. Implement the NSCoding protocol. Archive during storage and unpacking when retrieving from NSUserDefaults .
@interface User: NSObject<NSCoding> @property (nonatomic, copy) NSString *firstName; @property (nonatomic, copy) NSString *lastName; - (void)save; + (id)savedUser;
//User.m
#define kSavedUser @"SavedUser" #pragma mark - Encoding - (void)encodeWithCoder:(NSCoder *)encoder { [encoder encodeObject:self.firstName forKey:@"FirstName"]; [encoder encodeObject:self.lastName forKey:@"LastName"] } #pragma mark - Decoding - (id)initWithCoder:(NSCoder *)decoder { self = [super init]; if (self) { _firstName = [decoder decodeObjectForKey:@"FirstName"]; _lastName = [decoder decodeObjectForKey:@"LastName"]; } return self; } -(void)save { NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; NSData *data = [NSKeyedArchiver archivedDataWithRootObject:self]; [defaults setObject:data forKey:kSavedUser]; [defaults synchronize]; } + (id)savedUser { NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; NSData *data = [defaults objectForKey:kSavedUser]; if (data) { return [NSKeyedUnarchiver unarchiveObjectWithData:data]; } return nil; } + (void)clearUser { NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; [defaults removeObjectForKey:kSavedUser]; [defaults synchronize]; }
Now you can create an instance
User *user = [[User alloc]init]; user.firstName = @""; user.lastName = @""; [user save];
If you want to get
User *user = [User savedUser];
EDIT: If you want to clear the data, call the static method to delete the stored user information
[User clearUser]
source share