Search code examples
iosnsuserdefaultsnslog

How To Print Value From NSUserDefault


HI in below code i store Data in nsuserdefault but i want to see my data what i entered so how i print my data in user default

userRegistrationClass *userData = [[userRegistrationClass alloc] init];

  userData.strName = [dicUserData objectForKey:@"Name"];
  userData.strEmail = [dicUserData objectForKey:@"Email-ID"];
  userData.strGender = [dicUserData objectForKey:@"Gender(Male Or Female)"];
  userData.strUserName = [dicUserData objectForKey:@"User Name"];
  userData.strPassword = [dicUserData objectForKey:@"Password"];
  userData.strRePass = [dicUserData objectForKey:@"Re-Enter Password"];
  userData.strBirthDte = [dicUserData objectForKey:@"Birth Day"];
  userData.strMbleNum = [dicUserData objectForKey:@"Mobile Number"];

NSData *personEncodedObject = [NSKeyedArchiver archivedDataWithRootObject:userData];
userDataStore = [NSUserDefaults standardUserDefaults];
[userDataStore setObject:personEncodedObject forKey:@"User Name"];
[userDataStore synchronize];

Solution

  • No need to archive the object before storing it to the NSUserDefaults, if all the key-value stored in dictionary are NSNUmber or NSString.

    NSData *personEncodedObject         = [NSKeyedArchiver archivedDataWithRootObject:userData];
         NSUserDefaults *userDataStore = [NSUserDefaults standardUserDefaults];
         [userDataStore setObject:personEncodedObject forKey:@"User Name"];
         [userDataStore synchronize];
    
    
     NSData *dataFromDefaults = [userDataStore objectForKey:@"User Name"];
     NSDictionary *receivedDict = [NSKeyedUnarchiver unarchiveObjectWithData:dataFromDefaults];
    
     NSLog(@"%@", [receivedDict description]);