use*_*117 3 json objective-c plist
我有一个包含JSON响应和plist文件的字典.我想用JSON响应值更新plist文件中的值.我该怎么做?
小智 8
这就是我所做的,我现在正在努力,但我到达那里:
JSON到字典:
NSString *jsonString = [[NSString alloc] initWithData:response encoding:NSUTF8StringEncoding];
//NSLog(@"%@",jsonString);
NSArray *result = [jsonString JSONValue];
for(NSDictionary *dictionary in result){
return dictionary; //if you are getting more then one row, do something here
}
Run Code Online (Sandbox Code Playgroud)
保存字典:
id plist = plistDict;
NSString *errorDesc;
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *plistPath = [documentsDirectory stringByAppendingPathComponent:@"Data.plist"];
NSLog(@"%@",plistPath);
NSData *xmlData;
NSString *error;
xmlData = [NSPropertyListSerialization dataFromPropertyList:plist
format:NSPropertyListXMLFormat_v1_0
errorDescription:&error];
if(xmlData) {
if ([xmlData writeToFile:plistPath atomically:YES]) {
NSLog(@"Data successfully saved.");
}else {
NSLog(@"Did not managed to save NSData.");
}
}
else {
NSLog(@"%@",errorDesc);
[error release];
}
}
Run Code Online (Sandbox Code Playgroud)
如果你想更新值,我会说你应该打开plist,将它放在字典中,更新字典中的值,然后再将字典保存到plist中.
希望这可以帮助.