1
我有以下代碼:IOS取消NSURLConnection的夫特
func getStoryContent(cityID : String, completionHandler: (loaded: Bool, dataNil: Bool) ->()) ->() {
let scriptUrl = "***"
var user_id = "nil"
if let userID = NSUserDefaults.standardUserDefaults().stringForKey("userId") {
user_id = userID
}
var params = ***
let myUrl = NSURL(string: scriptUrl);
let request: NSMutableURLRequest = NSMutableURLRequest(URL: myUrl!)
request.HTTPMethod = "POST"
let data = params.dataUsingEncoding(NSUTF8StringEncoding)
request.timeoutInterval = 10
request.HTTPBody=data
request.HTTPShouldHandleCookies=false
let queue:NSOperationQueue = NSOperationQueue()
NSURLConnection.sendAsynchronousRequest(request, queue: queue, completionHandler:{ (response: NSURLResponse?, data: NSData?, error: NSError?) -> Void in
do {
....code.....
顯示圖像的幻燈片給用戶時,該程序在後臺運行,它基本上下載多個圖像被顯示並且將它們附加到陣列圖片。問題是用戶可以隨時退出幻燈片,在這種情況下,我需要取消這個NSURLConnection
。我有一個函數在用戶想要退出幻燈片時執行,但我不確定要添加什麼代碼才能正確取消此連接。
我可以繼續使用完成處理程序,它是我需要的代碼部分 – Alk
是的,就像我上面所說明的那樣。注意,參數的順序是不同的,但是首先使用'data'。但除此之外,它非常相似。關於隊列,'sharedSession'默認爲一個串行背景隊列(但如果你想指定你自己的隊列,你可以使用'NSURLSessionConfiguration'實例化你自己的'NSURLSession')。但是默認的後臺隊列應該可以。 – Rob