在Objective-C中下载并解析文本文件

在Objective-C中下载并解析文本文件,objective-c,download,Objective C,Download,到目前为止,我一直以plist格式保存远程服务器上的应用程序数据。下载和解析此格式相对容易: NSURL *url = [NSURL URLWithString:@"http://www.mysite.com/data.plist"]; NSDictionary *plistData = [NSDictionary dictionaryWithContentsOfURL:url]; 如何使用Objective-C下载任意格式的文本文件? 任意格式的一个示例是一个文件,该文件由CSV数据的两部分

到目前为止,我一直以plist格式保存远程服务器上的应用程序数据。下载和解析此格式相对容易:

NSURL *url = [NSURL URLWithString:@"http://www.mysite.com/data.plist"];
NSDictionary *plistData = [NSDictionary dictionaryWithContentsOfURL:url];
如何使用Objective-C下载任意格式的文本文件?


任意格式的一个示例是一个文件,该文件由CSV数据的两部分组成,两部分之间用几行空白隔开。当然我会提前知道格式。

使用
-[NSString initWithContentsOfURL:encoding:error:
,就像这样

NSURL *url = [NSURL URLWithString:@"http://www.mysite.com/data.plist"];
NSError *error = nil;
NSString *text = [[NSString alloc] initWithContentsOfURL: url
                                                encoding: NSUTF8StringEncoding
                                                   error: &error];

这将获得文件的内容,您可以根据需要进行处理。

请注意,这是一种同步方法,会阻止线程。@PauldeLange这一点很好。我目前正在另一个线程中通过
performSelectorInBackground
运行下载,因为
dictionaryWithContentsOfURL
也是同步的。我喜欢它答案是因为(据我所知)它100%在内存中,所以我不必保存文件,解析它,然后删除它(这既繁重又烦人)