2016-01-19 6 views
3

Когда я вхожу в мое приложение с моей электронной почтой и паролем, я получаю ответ успешно в то время, чтобы сохранить мой идентификатор пользователя в nsuserdefaults, как я могу это сделать?Как сохранить идентификатор пользователя в nsuserdefaults?

Вот мой код:

-(void)signInMethod 
{ 
    NSString *accessKey = @"akjsda9s8dadandl4"; 
    NSData *returnData; 
    returnData=[[WebServices alloc]loginTest:emailTxtFld.text andPassword:pswdTxtFld.text andSESSION_ACCESS_KEY:accessKey]; 
    if (returnData.length>0) 
    { 
     NSError *error; 
     NSDictionary *res=[NSJSONSerialization JSONObjectWithData:returnData options:kNilOptions error:&error]; 
     NSLog(@"SignIn response is %@",res); 
     NSString *msg = [res valueForKey:@"userid"]; 
     NSLog(@"%@",msg); 
    } 
} 

Из приведенной выше коды WebServices является моим классом службы. Как я могу сохранить этот идентификатор пользователя?

+0

Лучше практиковать хранение конфиденциальных данных, таких как пароли в цепочке ключей, вместо NSUserDefaults. –

ответ

1

Используйте этот код для сохранения электронной почты и пароля и пользователя для NSUserDefault.

-(void)signInMethod 
{ 
NSString *accessKey = @"akjsda9s8dadandl4"; 
NSData *returnData; 
returnData=[[WebServices alloc]loginTest:emailTxtFld.text andPassword:pswdTxtFld.text andSESSION_ACCESS_KEY:accessKey]; 
if(returnData.length>0) 
{ 
    NSError *error; 
    NSDictionary *res=[NSJSONSerialization JSONObjectWithData:returnData options:kNilOptions error:&error]; 
    NSLog(@"SignIn response is %@",res); 
    NSString *msg = [res valueForKey:@"userid"]; 

    [[NSUserDefaults standardUserDefaults] setObject:emailTxtFld.text forKey:@"email"]; 
    [[NSUserDefaults standardUserDefaults] setObject:pswdTxtFld.text forKey:@"password"]; 
    [[NSUserDefaults standardUserDefaults] setObject:msg forKey:@"userid"]; 
    [[NSUserDefaults standardUserDefaults] synchronize]; 

    NSLog(@"%@",msg); 
} 
} 
6

магазин

для МАГАЗИНА String в NSUserDefaults вы можете напрямую использовать setObject

[[NSUserDefaults standardUserDefaults] setObject:[res valueForKey:@"userid"] forKey:@"userid"]; 
[[NSUserDefaults standardUserDefaults] synchronize]; 

Получить

для Восстановите String в NSUserDefaults можно непосредственно использовать objectForKey

NSString *Value = [[NSUserDefaults standardUserDefaults]objectForKey:@"userid"]; 

Удалить UserdefaultValue

, если ваша работа закончена вы хотите, чтобы очистить память о userdefault использовать следующий код

[[NSUserDefaults standardUserDefaults] removeObjectForKey:@"userid"]; 

Swift

магазин

NSUserDefaults.standardUserDefaults().setObject(res["userid"], forKey: "userid") 

Получить

var Value: String = NSUserDefaults.standardUserDefaults().objectForKey("userid") 

Удалить UserdefaultValue

NSUserDefaults.standardUserDefaults().removeObjectForKey("userid") 
+0

Благодарим вас за ответ :) он сохраняет userid bt, не возвращая идентификатор пользователя! –

+0

ok просто в этом месте ** [[NSUserDefaults standardUserDefaults] stringForKey: @ "userid"]; ** использовать ** [[NSUserDefaults standardUserDefaults] objectForKey: @ "userid"]; ** –

+0

@ Anbu.Karthik, вместо улучшения ответьте в комментариях, вы лучше отредактируете свой ответ. – Hemang

2
-(void)signInMethod 
{ 
NSString *accessKey = @"akjsda9s8dadandl4"; 
NSData *returnData; 
returnData=[[WebServices alloc]loginTest:emailTxtFld.text andPassword:pswdTxtFld.text andSESSION_ACCESS_KEY:accessKey]; 
if(returnData.length>0) 
{ 
    NSError *error; 
    NSDictionary *res=[NSJSONSerialization JSONObjectWithData:returnData options:kNilOptions error:&error]; 
    NSLog(@"SignIn response is %@",res); 
    NSString *msg = [res valueForKey:@"userid"]; 

    [[NSUserDefaults standardUserDefaults] setObject:msg forKey:@"userid"]; 
    [[NSUserDefaults standardUserDefaults] synchronize]; 


    NSLog(@"%@",msg); 
} 
} 

Для retrive Используйте

NSString *UDID = [[NSUserDefaults standardUserDefaults] objectForKey:@"userid"]; 
+0

Благодарим вас за ваш повтор :). Я хочу получить этот идентификатор пользователя в других сервисах, таких как NSString * UDID = [[NSUserDefaults standardUserDefaults] stringForKey: @ "userid"]; NSData * returnData; returnData = [[WebServices alloc] contactUs: UDID andSubject: subTxtFld.text andMessage: bodyTxtView.text]; if (returnData.length> 0) { NSError * ошибка; NSDictionary * res = [NSJSONSerialization JSONObjectWithData: returnData options: kNilOptions error: & error]; NSLog (@ «Ответ контакта% @», res); } –

+0

@MangiReddy отредактировал код –

Смежные вопросы