2012-05-11 15 views
6

के साथ HTTP अनुरोधों की एक श्रृंखला भेजने का सबसे अच्छा तरीका NSURLConnection के साथ किए गए HTTP अनुरोध ईवेंट संचालित हैं। यह चीजों को थोड़ा अजीब बनाता है जब आपको तीन अनुरोधों को एक दूसरे के बाद जारी करने की आवश्यकता होती है, जहां प्रत्येक अनुरोध पिछले एक द्वारा लौटाई गई जानकारी का उपयोग करता है।NSURLConnection

मैं इस तरह कर रहा हूँ करने के लिए इस्तेमाल किया:

response1 = request1(); 
response2 = request2(response1); 
response3 = request3(response2); 

लेकिन एक ही रास्ता मैं कैसे NSURLConnection के साथ ऐसा करना मिल सकता है connectionDidFinishLoading: अगले अनुरोध करना है। लेकिन जब अनुक्रमिक अनुरोधों की संख्या बढ़ती है, तो यह गन्दा हो सकता है।

कोको के अनुक्रमिक HTTP अनुरोधों को संभालने का बेवकूफ तरीका क्या है?

उत्तर

7

आप एनएसओपरेशन में अनुरोधों को लपेट सकते हैं और फिर ऑपरेशन निर्भरताओं को परिभाषित कर सकते हैं, ताकि प्रत्येक अनुरोध को निष्पादित करने से पहले अपने आश्रित अनुरोधों पर इंतजार करना पड़े।

Apple Docs से:

निर्भरता एक विशेष क्रम में आपरेशन निष्पादित करने के लिए एक सुविधाजनक तरीका है। आप addDependency का उपयोग करके एक ऑपरेशन के लिए निर्भरताओं को जोड़ और निकाल सकते हैं: और हटाएं निर्भरता: विधियां। डिफ़ॉल्ट रूप से, एक ऑपरेशन ऑब्जेक्ट जिसमें निर्भरता होती है तब तक तैयार नहीं माना जाता है जब तक कि इसके सभी निर्भर संचालन ऑब्जेक्ट निष्पादित नहीं हो जाते हैं। एक बार अंतिम आश्रित ऑपरेशन समाप्त होने के बाद, ऑपरेशन ऑब्जेक्ट तैयार हो जाता है और निष्पादित करने में सक्षम हो जाता है।

0

मैं आपको एमकेनेटवर्ककिट नामक तृतीय पक्ष लाइब्रेरी का उपयोग करने की सलाह दूंगा। यह आपके लिए कड़ी मेहनत को संभाल सकता है, ताकि आप अपने आवेदन के प्रमुख पहलुओं पर ध्यान केंद्रित कर सकें। आप इसे here पा सकते हैं।