Iphone UIWebView下载文件时是否锁定/冻结/挂起应用程序?
我的应用程序使用UIWebView加载网站并下载文件,当用户单击下载链接时,应用程序将冻结,直到文件下载完成,然后应用程序恢复正常,不会崩溃,只是冻结。。我怎样才能解决这个问题 我用这个代码下载Iphone UIWebView下载文件时是否锁定/冻结/挂起应用程序?,iphone,objective-c,xcode,ios5,uiwebview,Iphone,Objective C,Xcode,Ios5,Uiwebview,我的应用程序使用UIWebView加载网站并下载文件,当用户单击下载链接时,应用程序将冻结,直到文件下载完成,然后应用程序恢复正常,不会崩溃,只是冻结。。我怎样才能解决这个问题 我用这个代码下载 - (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType { if(na
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
if(navigationType == UIWebViewNavigationTypeLinkClicked)
{
NSURL *requestedURL = [request URL];
// ...Check if the URL points to a file you're looking for...
// Then load the file
NSData *fileData = [[[NSData alloc] initWithContentsOfURL:requestedURL] autorelease];
// Get the path to the App's Documents directory
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0]; // Get documents folder
[fileData writeToFile:[NSString stringWithFormat:@"%@/%@", documentsDirectory, [requestedURL lastPathComponent]] atomically:YES];
}
return YES;
}
- (NSString *)documentsDirectoryPath {
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectoryPath = [paths objectAtIndex:0];
return documentsDirectoryPath;
}
请参阅Apple iOS 5.1文档中的“URL加载系统编程指南”。您需要设置一个异步请求。URL加载系统有许多代码示例。您是否经常在目录中写入大量数据?我刚刚发现asynchronus的下载文件的HttpRequest。。我觉得很好:)