2013-04-02 29 views
0

請幫助我,爲什麼我啓動AFDownloadRequestOperation,界面沒有反應,但我下載的文件,界面響應。我該如何解決它?ios的AFDownloadRequestOperation我使用它,爲什麼啓動界面後沒有反應

我認爲它是關心文件的寫入速度,下載速度太快,寫入速度太快,如果你可以保持程序沒有響應?

這是我的代碼:

self.operation = [[AFDownloadRequestOperation alloc] initWithRequest:[[NSURLRequest  
           alloc] initWithURL:[NSURL URLWithString:video.url]] 
                  targetPath:[[[[PlistManager   
              sharedInstance] getDirectory] 
             stringByAppendingPathComponent:[NSString 
           stringWithFormat:@"%@.mp4",video.vid]] 
                 shouldResume:YES]; 

[self.operation start]; 
+0

請添加一些代碼。寫入速度不太可能,而且您更可能發送同步請求。 – MishieMoo

+0

thx,上面的代碼。我需要另一個行動? – 19jk89

+0

我使用該項目https://github.com/steipete/AFDownloadRequestOperation – 19jk89

回答

2

的問題是你告訴操作開始在你的主線程。這會阻止你的用戶界面。

你想要創建並保留一個NSOperationQueue並添加你的操作,所以它在後臺執行。

或者,AFHTTPClient也創建並維護一個操作隊列,所以如果您已經擁有其中一個隊列,您可以將操作添加到其操作隊列中。

+0

謝謝,MishieMoo。我發現這個問題,因爲我想將進度寫入文件,但它在主線程上。所以我使用dispatch_async來解決問題。但uitableview下載視頻時滾動不順暢?我的設備是iPhone 4 – 19jk89

相關問題