首次启动时,将内容下载到应用程序?

时间:2014-01-21 01:22:03

标签: ios objective-c download uiimageview

我对我的应用有疑问。我的应用程序需要5-10秒才能从我的Web服务下载所有数据,也可以使用STTwitterAPI从Twitter下载,我在应用程序启动时下载所有这些内容。问题是:在这5-10秒内你会做什么?显示UIAlertView说该应用正在下载内容?将图像加载到UIImageView,下载数据后删除UIImageView(我不知道如何检查)?有没有Apple提供的方法来解决这个问题?

我只是考虑为UIImageview或NSAlertView设置NSTimer,问题是如果我不断向服务器添加数据,或者根据正在下载数据的用户的连接,可能UIImageView在所有之前就消失了数据已经下载。

什么是最好的解决方案? STTwitter是否有方法检查是否已下载所有数据?

1 个答案:

答案 0 :(得分:0)

看看这个梦幻般的HUD显示单例框架:

SVProgressHUD by Sam Vermette,您只需将文件夹拖到xcode项目中即可。然后导入.h文件,然后在任何地方显示你的消息,然后你可以开始显示一个抬头显示,这就是通过简单地调用单例类中的方法调用覆盖的方式,如[SVProgressHUD showWithStatus:@"Doing Stuff"]; 。就这么简单!

enter image description here

然后下载名为AFNetworking的项目。 AFNetworking from github. 在AFNetworking中有一个选择器方法,您可以将其设置为您感兴趣的。因此,使用此框架可以轻松建立与服务器的连接,下载数据,框架可让您选择设置SUCCESS方法,然后在数据从您的数据下载完成后立即调用您的成功方法服务器

以下是您的代码的样子。

-(void)startDownloadingData{
    [SVProgressHUD showWithStatus:@"Downloading data"];
    //add your AFNetworking connection here that downloads the data
    //...
    [serverRequest setDidFinishSelector:@selector(requestSucceeded:)];
    //...
}
-(void)requestSucceeded:(ASIHTTPRequest*)request{
switch (statusCode) {
    case 400:
    case 401:
    {

        [SVProgressHUD showErrorWithStatus:@"An error occurred";
        break;
    }
    case 200:{
        NSLog(@"Request Successful");
        [SVProgressHUD dismissWithSuccess:@"Done"];
    }
    default:{
    }
}