मुझे बहुत से पहुंच योग्यता उदाहरण दिखाई देते हैं जहां लोग पहुंचने की स्थिति में परिवर्तन करते समय केवल एक संदेश प्रदर्शित करते हैं।
लेकिन हाल ही में, मैंने फोरस्क्वेयर ऐप में देखा कि जब भी उपयोगकर्ता इंटरनेट कनेक्शन की आवश्यकता होती है, तो वह एक संदेश प्रदर्शित करता है।
मुझे लगता है कि यह अधिक मजबूत और बेहतर यूएक्स है जो उपयोगकर्ता को याद दिलाने के लिए वह इंटरनेट के बिना कुछ भी नहीं कर सकता है। मुख्य रूप से क्योंकि उपयोगकर्ता ऐप्स के बीच स्विच कर सकते हैं, कुछ और कर सकते हैं और भूल जाते हैं कि जब वह वापस आता है तो उसके पास कोई कनेक्शन नहीं है।
जैसे ही वे कनेक्शन वापस प्राप्त करते हैं, मैं देख सकता हूं कि वे इंटरनेट से डेटा प्राप्त करते हैं और यूआई को रीफ्रेश करते हैं।क्या मुझे प्रत्येक UIViewController में पहुंच क्षमता अपडेट करना चाहिए?
जो मैं वास्तव में देख रहा हूं वह ऐसा करने का सबसे अच्छा तरीका है। यह कैसे किया जाता है?
क्या उनके पास एक सामान्य UIViewController है जो हर बार कनेक्शन की आवश्यकता होने पर पहुंच के लिए जांच करता है?
या क्या उनके पास प्रत्येक इंटरनेट अनुरोध से पहले एक प्रकार का प्रॉक्सी क्लास है जो अनुरोध को रद्द करता है और एक संदेश प्रदर्शित करता है? आप लोग इसके साथ कैसे काम कर रहे हैं?
धन्यवाद।
संपादित करें:
समाधान के साथ मैं AFNetworking जो भी बॉक्स में गम्यता स्थिति प्रदान उपयोग कर रहा है आया।
मूल रूप से मैंने एक AFHTTP क्लाइंट बनाया और स्थिति परिवर्तनों को सुनने के लिए उस पर एक पहुंच क्षमता कॉलबैक ब्लॉक सेट किया। AFHTTP क्लाइंट ऑब्जेक्ट विस्तृत है (एक सिंगलटन की तरह)। (वास्तव में मेरे पास प्रति होस्ट एक AFHTTP क्लाइंट है, मुझे a.com, b.com ... तक पहुंचने की आवश्यकता है।)।
फिर जब मुझे कोई अनुरोध करने की आवश्यकता होती है तो मैं एक नया AFHTTPRequestOperation (मेरे मामले में AFJSONRequestOperation) बना देता हूं और मैं इसे अपने AFHTTP क्लाइंट ऑब्जेक्ट पर लगाता हूं। ऑपरेशन की विफलता ब्लॉक में मैं यह देखने के लिए जांच करता हूं कि मेजबान AFHTTPClient की networkReachabilityStatus
संपत्ति के साथ पहुंच योग्य है या नहीं। यदि यह पहुंच योग्य नहीं है तो मैं एक संदेश प्रदर्शित करता हूं कि उपयोगकर्ता के साथ कोई इंटरनेट कनेक्शन नहीं है।
मैंने इसे लपेट लिया ताकि मुझे हर बार एक ऑपरेशन बनाने की आवश्यकता न हो। तो अब ऐप में, जब भी कोई कनेक्शन नहीं होता है तो उपयोगकर्ता कुछ करने का प्रयास करता है, उसे एक संदेश मिला कि उसे कोई इंटरनेट एक्सेस नहीं है।
मैं कनेक्शन वापस पाने के बाद स्क्रीन पर डेटा पुनः लोड करने के लिए पहुंच क्षमता कॉलबैक का भी उपयोग करता हूं (या एक बार जब मुझे कनेक्शन होना चाहिए)।
मुझे नहीं पता कि यह सबसे अच्छा अभ्यास है, लेकिन मुझे लगता है कि यह जानना अच्छा लगता है कि ऐप एक नया कनेक्शन उपलब्ध होने पर महत्वपूर्ण डेटा को पुनः लोड करने का ख्याल रखता है।
यदि कोई नमूना कोड से रूचि रखता है तो मैं इसे प्रदान कर सकता हूं।
इस उत्तर के लिए बहुत बहुत धन्यवाद, क्या आपको याद है कि डब्ल्यूडब्ल्यूडीसी टॉक/वीडियो कौन सा है? – florian
इसे याद रखने के लिए निश्चित नहीं है। सत्र 706 और 225 (सत्र का दूसरा भाग) आज़माएं। – viggio24