我正在开发一款iPhone应用程序,需要在TableView中显示存储的数据。经过一些调查,我决定使用JSON来存储数据。但是,我找不到任何教程来解释如何读取作为本地文件的JSON,而不是通常情况下从远程源读取。
您能推荐一些教程吗?
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"THENAMEOFTHEFILE" ofType:@"EXTENSIONOFYOUTFILE"];
其次,加载文件的数据:
NSData *content = [[NSData alloc] initWithContentsOfFile:filePath];
第三步,解析数据:
NSDictionary *json = [NSJSONSerialization JSONObjectWithData:content options:kNilOptions error:nil];
NSJSONSerialization
来实现。NSError *deserializingError;
NSURL *localFileURL = [NSURL fileURLWithPath:pathStringToLocalFile];
NSData *contentOfLocalFile = [NSData dataWithContentsOfURL:localFileURL];
id object = [NSJSONSerialization JSONObjectWithData:contentOfLocalFile
options:opts
error:&deserializingError];
NSURL
没有名为 urlWithString
的方法。如果您想从文件路径创建一个 NSURL
,您需要使用 NSURL fileURLWithPath:
。 - rmaddyURLWithString
。但你是对的,fileURLWithPath:
是处理文件路径的正确方式。 - matehat
[dictionary writeToFile:path atomically:YES];
创建属性列表文件。您可以使用NSDictionary *dictionary = [NSDictionary dictionaryWithContentsOfFile:path];
读取属性列表。这比使用JSON更不麻烦。 - Rob