[在此输入图像描述] [1]我从JSON获得三个值。 如何在NSString
和中存储这三个值,然后在本地存储这些字符串,即在设备上?
我试过NSUserDefaults
,但我无法做到。我已附上了代码段。
NSData *JSONData = [NSJSONSerialization dataWithJSONObject:responseObject
options:0 // Pass 0 if you don't care about the readability of the generated string
error:&error];
if (! JSONData)
{
NSLog(@"Got an error: %@", error);
} else {
//_branchId = [responseObject valueForKey:@"branchId"];
_branchName = [responseObject valueForKey:@"branchName"];
_branchUri = [responseObject valueForKey:@"branchUri"];
[[NSUserDefaults standardUserDefaults] setObject:_branchId forKey:[responseObject valueForKey:_branchId]];
[[NSUserDefaults standardUserDefaults] setObject:_branchName forKey:@"branchName"];
[[NSUserDefaults standardUserDefaults] setObject:_branchUriStore forKey:@"_branchUri"]; // Here the setobject value remains nil only
[[NSUserDefaults standardUserDefaults] synchronize];
PS:我也希望在我的共性中使用该存储值。怎么做呢?
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:[NSString stringWithFormat:@"(__fetchBranchUri)/%@",url]]];
答案 0 :(得分:0)
在else块中用
替换内容[[NSUserDefaults standardUserDefaults] setObject:[responseObject valueForKey:@"branchId"] forKey:@"branchId"];
[[NSUserDefaults standardUserDefaults] setObject:[responseObject valueForKey:@"branchName"] forKey:@"branchName"];
[[NSUserDefaults standardUserDefaults] setObject:[responseObject valueForKey:@"branchUri"] forKey:@"_branchUri"];
[[NSUserDefaults standardUserDefaults] synchronize];
编辑:说明
在上面的代码中,对象_branchUriStore未定义,可能是您问题的一部分(一个简单的拼写错误?)。下面,我更新并浓缩了您的代码,以消除您使用branchId的另一个问题,以便您可以从样式中认识到您尝试做的很多事情都很好。
另请注意,@ marddie在评论中提供了以下额外的改进。
答案 1 :(得分:-1)
好的,这是你应该做的。
1-转换您的JSONData no NSData
2 - 将NSData保存在NSUserDefaults /
中希望这有帮助!