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];
}
}