回答
如果您使用正常的NSURLConnection,您可以將它發送給cancel命令。 (docs)
INIT喜歡:
NSURLRequest *request = [[NSURLRequest alloc] initWithURL:url];
NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:request delegate:self];
取消像這樣:
[connection cancel];
我們是在談論+[NSURLConnection sendSynchronousRequest:returningResponse:error:]
?在這種情況下,您無法停止此請求。
如果您需要在航班中途停止網絡操作,那麼您需要使用異步API。我個人更喜歡使用NSURLConnection
推出我自己的產品,以及當前任務的最少工作量,通常是NSOperation
或者只是一些GCD。即使您選擇使用其他方法,我也強烈建議您學習如何使用NSURLConnection
。
其中一個這樣的其他方法是AFNetworking,該包裝NSURLConnection
是NSOperation
,您可以撥打cancel
。
嘿,謝謝你,我有一些使用同步連接的庫文件,現在無法修改代碼。我在另一個線程中調用服務器,並在從後臺導航到前臺時,我正在檢查該線程是否仍在執行,如果是這樣,我取消它以避免崩潰,但是我仍然在低網絡連接中崩潰「iphone未能及時恢復」。我想解決這個問題,你能幫我解決嗎? – Nitu 2012-01-18 12:09:32
@Nitu實際上並沒有實施取消。當你的應用程序被要求恢復時,你有20秒的時間來回應,否則看門狗會殺死你。更改代碼不使用同步網絡訪問是您唯一的解決方案。 – PeyloW 2012-01-18 15:23:44
Hey Peylow請問你能清楚一點。謝謝。 – Nitu 2012-01-19 06:33:40
- 1. 我可以同步停止服務嗎?
- 2. 我可以重寫HTTPService中的mxml請求嗎?怎麼樣?
- 3. 我可以停止IIS嗎?
- 4. 我可以停止請求UAC提升的可執行文件嗎?
- 5. JobKey可以更改嗎?怎麼樣?
- 6. 停止請求+++++++++
- 7. 我們可以更改java安裝文件夾的路徑嗎?怎麼樣?
- 8. 我們可以在TGIFImage delphi組件中停止動畫嗎?
- 9. 我們可以停止自動遞增的ID列嗎?
- 10. 我們可以在cassandra中停止datastax-agent進程嗎?
- 11. 我們可以停止構造函數的運行嗎?
- 12. 是否可以優化我的SQL請求?如果是的話,怎麼樣?
- 13. 我怎樣才能停止Ajax請求(不要等待直到迴應)?
- 14. 我可以用Ruby的Typhoeus進行異步請求嗎?
- 15. 我們可以向usercontrol(.ascx)發出ajax請求嗎?
- 16. 我們可以在beanshell中使用http請求嗎?
- 17. 我們可以對非遊戲應用使用「請求」嗎?
- 18. 我怎麼可以這樣使用Hibernate
- 19. 我怎樣才能停止聲音
- 20. 線程進入同步塊後我們可以改變鎖嗎?
- 21. 我們可以關閉Firebase(JavaScript)本地同步嗎?
- 22. 我們可以同步字符串生成器嗎?
- 23. 我怎麼可以加載谷歌地圖jquery請求
- 24. 我怎樣才能找到什麼是停止我的活動
- 25. 是怎麼樣子POST請求BTC-E
- 26. 我可以向ElasticSearch羣集發送多少個同步請求?
- 27. 我可以安全阻止Dalvik瀏覽器代理請求嗎?
- 28. 我可以給多個列別名嗎?怎麼樣?
- 29. 我可以在Joomla組件中掛鉤嗎?怎麼樣?
- 30. 我可以爲WinCE編譯Dalvik嗎?怎麼樣?
嘿謝謝你的回覆,但我沒有獲得連接變量以及它正在庫文件中完成。請建議我爲上述評論提出的最佳解決方案... – Nitu 2012-01-19 06:49:55
Quick'n dirty:編輯lib必須公開連接。例如。像這樣: - (NSURLConnection *)connection {return _connection; }或者,您可能想要自己處理連接,它足夠容易,爲什麼要使用lib? – Wolfert 2012-01-19 14:14:09