2014-10-10 12 views
18

में मेरे डाउनलोड अनुरोध को रोकने/फिर से शुरू/रद्द करने के लिए कैसे मैं प्रगति के साथ अलामोफायर डाउनलोड का उपयोग कर एक फ़ाइल डाउनलोड कर रहा हूं लेकिन मुझे नहीं पता कि विशिष्ट अनुरोध को रोक/फिर से शुरू/रद्द कैसे करें।अलामोफायर

@IBAction func downloadBtnTapped() { 

Alamofire.download(.GET, "http://httpbin.org/stream/100", destination: destination) 
    .progress { (bytesRead, totalBytesRead, totalBytesExpectedToRead) in 
     println(totalBytesRead) 
    } 
    .response { (request, response, _, error) in 
     println(response) 
    } 
} 


@IBAction func pauseBtnTapped(sender : UIButton) {   
    // i would like to pause/cancel my download request here 
} 

उत्तर

29

एक संपत्ति के साथ downloadBtnTapped में बनाए गए अनुरोध के लिए एक संदर्भ रखें, और pauseBtnTapped में है कि संपत्ति पर cancel कहते हैं।

var request: Alamofire.Request? 

@IBAction func downloadBtnTapped() { 
self.request = Alamofire.download(.GET, "http://httpbin.org/stream/100", destination: destination) 
} 

@IBAction func pauseBtnTapped(sender : UIButton) { 
    self.request?.cancel() 
} 
+0

क्या यह सभी अनुरोध रद्द कर देता है? –

+2

'request.cancel()' तुरंत अनुरोध रद्द करने की गारंटी नहीं देता है। इससे रद्द होने के बाद प्रगति ब्लॉक को बुलाया जाता है। क्या रद्द करने/निलंबन कहलाता है या नहीं, यह जांचने के लिए कोई अंतर्निहित तरीका है? – osrl

+0

रोकना अनुरोध है? Suspend() या अनुरोध? रद्द करना() ? – Steve

16

request.cancel() डाउनलोड प्रगति को रद्द कर देगा। यदि आप रोकना और जारी रखना चाहते हैं, तो आप इसका उपयोग कर सकते हैं:

var request: Alamofire.Request? 

@IBAction func downloadBtnTapped() { 
self.request = Alamofire.download(.GET, "http://yourdownloadlink.com", destination: destination) 
} 

@IBAction func pauseBtnTapped(sender : UIButton) { 
    self.request?.suspend() 
} 

@IBAction func continueBtnTapped(sender : UIButton) { 
    self.request?.resume() 
} 

@IBAction func cancelBtnTapped(sender : UIButton) { 
    self.request?.cancel() 
} 
+0

निलंबन और रद्द करने का क्या अंतर है? रोक के साथ और अधिक समान निलंबित है? –

संबंधित मुद्दे