如何下载没有显示悬挂的东西?

时间:2012-09-04 15:38:59

标签: iphone objective-c xcode download

好。所以我正在创建这个应用程序,除了一件事我真的很开心。它使用了大量的互联网数据库检查等,并且每次执行此操作时都会挂起,直到它完成,破坏了界面的流动性。反正有没有避免这个?当您单击按钮或有时仅因NSTimer而导致下载内容。我希望用户能够流畅地通过界面和应用程序在它到达时更新信息。无论如何都要这样做吗?

编辑 - 当前同步代码: 这是下载CSV文件:

NSString *link=[[NSString alloc] initWithFormat:@"http://d.yimg.com/autoc.finance.yahoo.com/autoc?query=%@&callback=YAHOO.Finance.SymbolSuggest.ssCallback",timer.userInfo];
NSURL *url=[[NSURL alloc] initWithString:link];
NSData *dl=[[NSData alloc] initWithContentsOfURL:url];
NSString *str = [[NSString alloc] initWithData:dl encoding:NSUTF8StringEncoding];

这是将png文件下载到webView:

NSString *link=[[NSString alloc] initWithFormat:@"http://chart.finance.yahoo.com/z?s=%@&t=GOOG&q=m",self.Input.text];
url=[[NSURL alloc] initWithString:link];
[self.graph loadRequest:[NSURLRequest requestWithURL:url]];

1 个答案:

答案 0 :(得分:5)

听起来你正在制作同步请求。你不应该在主线程上这样做。您最好的选择可能是切换到异步请求。您可以在后台线程上发出同步请求,但在大多数情况下这都是更复杂和不必要的。