从互联网下载plist(数据库)?

时间:2011-08-13 16:28:05

标签: iphone database ios download plist

我正在尝试从互联网上下载数据库plist文件。我后来将内容加载到UITableView中,但这不是问题(我已经想到了)。我现在拥有的是我的plist中的足球比赛列表,结果丢失了(因为比赛还没有播放。)我成功加载了那个plist(它在我的项目目录中)。

我使用此路径

[[NSBundle mainBundle] pathForResource:@"data" ofType:@"plist"]

我的问题是

  1. 如何下载数据
  2. 下载时如何显示“活动指示符”?
  3. 保存下载的数据在哪里? (所以我用它作为上面的路径)
  4. 如果新版本无法下载(由于互联网连接问题),如何让应用使用旧版本
  5. 使用我的地图我已经提供了一个空数据库(没有结果),所以如果在第一次启动期间(在下载应用程序之后)没有互联网连接,则可以使用它。

    提前多多感谢!

2 个答案:

答案 0 :(得分:1)

使用NSURLConnection下载数据,最好是在单独的线程中。

答案 1 :(得分:0)

我使用了ASIHTTPRequest类,它运行得很好......它下载所有文件类型,不仅仅是.plist ...你可以用它做很多事情(上传等等)和最好的部分是iPhone和Mac OS X兼容......文档制作精良,整个过程都带有示例项目:)。所以它易于使用。

安装网站上说的所有内容,添加框架,在要下载文件的类中导入“ASIHTTPRequest.h”。

玩代码(我发布我的...),中提琴,工作得很顺利......

// setting the save path... 
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *path = [paths objectAtIndex:0];
    NSString *downloadPath = [NSString stringWithFormat:@"%@/data.plist",path];
//creating download / upload request like...
ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:[NSURL URLWithString:@"http://martin.archplan.sk/data.plist"]];
    [request setDidFailSelector:@selector(downloadFailed)];
    [request setDidFinishSelector:@selector(parseData)];
    [request setTimeOutSeconds:5];
    [request setDelegate:self];
    [request setDownloadDestinationPath:downloadPath];
    [request startSynchronous];

每个试图提供帮助的人,非常感谢!!