Ios 在NSUser Default中存储值

Ios 在NSUser Default中存储值,ios,xcode,Ios,Xcode,这是我执行的代码 NSDictionary *dictionary = [NSJSONSerialization JSONObjectWithData:responseObject options:kNilOptions error:&error]; [[NSUserDefaults standardUserDefaults] setObject:[dictionary objectForKey:@"user_id"] forKey:@"User_Id"];

这是我执行的代码

 NSDictionary *dictionary = [NSJSONSerialization JSONObjectWithData:responseObject options:kNilOptions error:&error];

         [[NSUserDefaults standardUserDefaults] setObject:[dictionary objectForKey:@"user_id"] forKey:@"User_Id"];

         [[NSUserDefaults standardUserDefaults] synchronize];

  NSLog(@"%@",[[NSUserDefaults standardUserDefaults] objectForKey:@"User_Id"]);
这是我的Json响应

但我坚持将用户id中的值存储到用户默认值中 谁能帮我一下这里发生了什么事


谢谢

根JSON对象没有与关键用户id关联的值,因为该用户id位于数据数组中。您需要首先从JSON对象提取数据数组,然后检索与user_id键关联的值。尝试以下代码段将用户id值存储到NSUserDefaults中


请更好地解释您的问题。您只想存储用户ID,而您正在存储所有json?
{
    "flag": "true",
    "message": "success",
    "data": [
        {
            "username": "ankurk",
            "user_id": "16",
            "email": "ankurk.psk@gmail.com"
        }
    ]
}
NSDictionary *dictionary = [NSJSONSerialization JSONObjectWithData:responseObject options:kNilOptions error:&error];
NSArray *dataArray = [dictionary objectForKey:"data"];

[[NSUserDefaults standardUserDefaults] setObject:dataArray[@"user_id"] forKey:@"User_Id"];
NSDictionary *dictionary = [NSJSONSerialization JSONObjectWithData:responseObject options:kNilOptions error:&error];
NSArray *array = [dictionary objectForKey:"data"];
NSDictionary *dataDictionary=[array objectAtIndex:0]; 
[[NSUserDefaults standardUserDefaults] setObject:[dataDictionary objectForKey:@"user_id"] forKey:@"User_Id"];
[[NSUserDefaults standardUserDefaults] synchronize];
-(NSURLSession *)sessionConfig{
    NSURLSessionConfiguration *config = [NSURLSessionConfiguration defaultSessionConfiguration];
    NSURLSession *session = [NSURLSession sessionWithConfiguration:config];
    return session;
}


-(NSMutableURLRequest *)sessionReqData:(NSDictionary *)reqData{

    NSURL *url = [NSURL URLWithString:kVETAPP_URL];
    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url
                                                           cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                       timeoutInterval:60.0];
    [request addValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
    [request setHTTPMethod:@"POST"];

    NSData *jsonData = [NSJSONSerialization dataWithJSONObject:reqData options:NSJSONWritingPrettyPrinted error:nil];
    NSString *jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];


    [request setHTTPBody:[jsonString dataUsingEncoding:NSUTF8StringEncoding]];
    [request setHTTPMethod:@"POST"];

    return request;
}


+(ServerCommuManager*) sharedServerCommuManager{
    static ServerCommuManager *_sharedServerManager = nil;
    static dispatch_once_t oncePredicate;
    dispatch_once(&oncePredicate, ^{
        _sharedServerManager = [[ServerCommuManager alloc]init];
    });
    return _sharedServerManager;
}

-(void) methodName:(NSMutableDictionary *) dictRequest{
        NSDictionary *dictionaryRequest = [[NSDictionary alloc] initWithObjectsAndKeys:kPOST_UPDATE_APPOINTMENT_SERVICE,kPOST_SERVICE_NAME,
                                           dictRequest,kREQUEST,nil];
        NSMutableURLRequest *request=[self sessionRequestWithData:dictionaryRequest];
        NSURLSessionDataTask *postDataTask = [[self sessionConfiguration] dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
            if(!error){
                NSHTTPURLResponse *httpResp = (NSHTTPURLResponse*)response;
                NSDictionary *responseDictionary = [NSJSONSerialization JSONObjectWithData:data
                                                                                   options:NSJSONReadingMutableContainers
                                                                                     error:nil];
                if (httpResp.statusCode==kResponseStatusSuccess)
                {
                    if ([responseDictionary count]>0){               
                        dispatch_async(dispatch_get_main_queue(), ^{
                        });
                    }
                }
                else if(httpResp.statusCode==kResponseStatusUnAuthorized){

                }
                else if(httpResp.statusCode==kResponseStatusInvalidAuthentication){

                }
                else{
                    NSLog(@“TimeOut”);
                }
            }

            else{
                NSLog(@“Server Eror %@”,error);
                dispatch_async(dispatch_get_main_queue(), ^{
                    [self.delegate createAppointment:kResponseStatusInternalServerError];
                });
            }
        }];
        [postDataTask resume];
    }
}