दिलचस्प पोस्ट
वर्ष / महीना / सप्ताह / दिन में दो तारीखों के बीच अंतर कैसे प्राप्त करें? IPhone में पुनः अभिविन्यास के बाद "गलत" फ्रेम / विंडो आकार लिनक्स 3.0: पाइप स्टडिन / स्टडआउट के साथ बाल प्रक्रिया निष्पादित तिथि स्वरूप प्राप्त हो रही है MDY H: i: सु मी से मिलीसेकंड्स जावा में गणित अभिव्यक्ति के मूल्यांकन के लिए विधि मैं बैच फ़ाइल को एक त्रुटि का सामना करने पर समाप्त कैसे कर सकता हूं? "हमेशा शीर्ष पर" विंडोज के साथ जावा क्या स्थिर वैरिएबल केवल एक बार आरंभ करता है? एंड्रॉइड-जावा- ऑब्जेक्ट के भीतर किसी निश्चित मान से ऑब्जेक्ट्स की एक सूची को सॉर्ट करने के लिए स्ट्रिंग इन जावा में एक पूरे शब्द कैसे खोजें JSTL कैसे स्थापित करें? निरपेक्ष यूरी: http://java.sun.com/jstl/core का समाधान नहीं किया जा सकता ऐप फेसबुक लॉगिन के लिए गलत तरीके से कॉन्फ़िगर किया गया है: एंड्रॉइड फेसबुक एकीकरण समस्या Homebrew सूत्र के विशिष्ट संस्करण स्थापित करें? यूआईटीबल्यूव्यू में आईफोन एकाधिक कॉलम Codeigniter REST सीएसवी आयात mysql करने के लिए

एक फ़ाइल डाउनलोड करते समय एक NSURL कनेक्शन के लिए एक प्रगति बार कैसे बना सकता है?

मैं एक प्रगति पट्टी दिखाना चाहता हूं जबकि NSURL कनेक्शन के साथ एक डाउनलोड हो रहा है। चूंकि मैं सर्वर से डेटा प्राप्त कर रहा हूं, मैं हर प्राप्त पैकेज के लिए यूआई को अपडेट कर सकता हूं। लेकिन समस्या यह है कि: मुझे कैसे पता चलेगा कि मेरे पास पहले से कितना डेटा है, और कितना डाटा डाउनलोड किया जाना है? शायद बाइट्स में … और फिर मुझे कुछ गणित करने के लिए प्रतिशत प्राप्त करना है?

वेब के समाधान से एकत्रित समाधान "एक फ़ाइल डाउनलोड करते समय एक NSURL कनेक्शन के लिए एक प्रगति बार कैसे बना सकता है?"

अपने NSURLConnection प्रतिनिधि में, कुल सामग्री लंबाई पता लगाने के लिए इस तरह कुछ लागू करें सर्वर को इसका समर्थन करना है, लेकिन यह स्थैतिक सामग्री के साथ ठीक काम करेगा:

 - (void)connection: (NSURLConnection*) connection didReceiveResponse: (NSHTTPURLResponse*) response { statusCode_ = [response statusCode]; if (statusCode_ == 200) { download_.size = [response expectedContentLength]; } } 

और फिर इस तरह की प्रगति को अपडेट करें:

 - (void) connection: (NSURLConnection*) connection didReceiveData: (NSData*) data { [data_ appendData: data]; download_.progress = ((float) [data_ length] / (float) download_.size); // Broadcast a notification with the progress change, or call a delegate } 

मेरे मामले में मेरे पास एक डाउनलोड इंस्टेंस है जिसमें size और progress गुण हैं I वे एक वैश्विक DownloadManager ऑब्जेक्ट के स्वामित्व वाले हैं जो डाउनलोड प्रगति या राज्य के परिवर्तनों के इच्छुक पार्टियों को सूचित करने का ध्यान रखेंगे।