सामान्य रूप से उद्देश्य-सी, कोको और आईफोन देव के लिए नया होने के नाते, मुझे भाषा और रूपरेखा से सबसे अधिक पाने की तीव्र इच्छा है।
मेरे द्वारा उपयोग किए जा रहे संसाधनों में से एक स्टैनफोर्ड का CS193P क्लास नोट्स है जिसे उन्होंने वेब पर छोड़ा है। इसमें व्याख्यान नोट्स, असाइनमेंट और नमूना कोड शामिल हैं, और चूंकि पाठ्यक्रम एप्पल देव द्वारा दिया गया था, मैं निश्चित रूप से इसे "घोड़े के मुंह से" मानता हूं।
क्लास वेबसाइट:
http://www.stanford.edu/class/cs193p/cgi-bin/index.php
Lecture 08 एक UINavigationController आधारित ऐप को बनाने के लिए एक असाइनमेंट से संबंधित है जिसमें कई UIViewControllers हैं जो UINavigationController स्टैक पर धकेल दिए गए हैं। यह है कि कैसे UINavigationController काम करता है। यह तार्किक है। हालाँकि, आपके UIViewControllers के बीच संचार करने के बारे में स्लाइड में कुछ कड़ी चेतावनी दी गई है।
मैं इस गंभीर स्लाइड से उद्धरण देने जा रहा हूं:
http://cs193p.stanford.edu/downloads/08-NavigationTabBarControllers.pdf
पृष्ठ 16/51:
डेटा साझा करने के लिए कैसे नहीं
- वैश्विक चर या एकल
- इसमें आपका एप्लिकेशन प्रतिनिधि शामिल है
- प्रत्यक्ष निर्भरताएं आपके कोड को कम पुन: प्रयोज्य बनाती हैं
- और डिबग और परीक्षण करने के लिए और अधिक कठिन है
ठीक। मैं उसके साथ नीचे हूँ। अपने सभी तरीकों को नेत्रहीन रूप से टॉस न करें जो कि आपके ऐप प्रतिनिधि में व्यूकंट्रोलर के बीच संचार के लिए उपयोग किए जाएंगे और ऐप प्रतिनिधि विधियों में व्यूकंट्रोलर इंस्टेंस को संदर्भित करेंगे। फेयर 'नफ।
थोड़ा आगे बढ़ने पर हमें यह स्लाइड मिलती है कि हमें क्या करना चाहिए ।
पृष्ठ 18/51:
डेटा प्रवाह के लिए सर्वोत्तम अभ्यास
- यह पता लगाना कि संचार के लिए वास्तव में क्या आवश्यक है
- अपने दृश्य नियंत्रक के लिए इनपुट मापदंडों को परिभाषित करें
- पदानुक्रम का बैकअप लेने के लिए, ढीले युग्मन का उपयोग करें
- पर्यवेक्षकों के लिए एक सामान्य इंटरफ़ेस निर्धारित करें (जैसे प्रतिनिधिमंडल)
इस स्लाइड को उसके बाद एक जगह धारक स्लाइड के रूप में दिखाई देता है जहां व्याख्याता तब स्पष्ट रूप से UIImagePickerController के साथ एक उदाहरण का उपयोग करके सर्वोत्तम प्रथाओं का प्रदर्शन करता है। काश वीडियो उपलब्ध होते! :(
ठीक है, तो ... मुझे डर है कि मेरा ओब्जेक्ट-फू इतना मजबूत नहीं है। मैं भी उपरोक्त पंक्ति में अंतिम पंक्ति से थोड़ा भ्रमित हूँ। मैं इस बारे में गुगली करने की अपनी उचित हिस्सेदारी कर रहा हूं और मैंने पाया कि एक अच्छा लेख प्रतीत होता है जिसमें अवलोकन / अधिसूचना तकनीकों के विभिन्न तरीकों के बारे में बात की गई है:
http://cocoawithlove.com/2008/06/five-approaches-to -listening-observing.html
विधि # 5 भी एक विधि के रूप में प्रतिनिधियों को इंगित करता है! सिवाय .... वस्तुओं के एक समय में केवल एक प्रतिनिधि सेट कर सकते हैं। इसलिए जब मेरे पास कई दृश्य संचारक हैं, तो मुझे क्या करना है?
ठीक है, यह सेट अप गिरोह है। मुझे पता है कि मैं आसानी से अपने प्रतिनिधि के संदर्भ में कई व्यू कॉन्ट्रैक्टर के संदर्भ में ऐप प्रतिनिधि में अपनी संचार विधियों को आसानी से कर सकता हूं लेकिन मैं इस तरह की चीज़ को सही तरीके से करना चाहता हूं ।
कृपया निम्नलिखित प्रश्नों के उत्तर देकर "सही कार्य" करने में मेरी मदद करें:
- जब मैं UINavigationController स्टैक पर एक नया व्यू-कंट्रोलर पुश करने की कोशिश कर रहा हूं, तो यह पुश कौन करना चाहिए। मेरे कोड में कौन सी कक्षा / फ़ाइल सही जगह है?
- जब मैं अपने UIViewControllers में से किसी एक में डेटा के एक टुकड़े (एक iVar के मूल्य) को प्रभावित करना चाहता हूं, जब मैं एक अलग UIViewController में हूं , तो ऐसा करने का "सही" तरीका क्या है?
- यह दें कि हमारे पास एक समय में केवल एक प्रतिनिधि सेट किया जा सकता है, जब लेक्चरर "पर्यवेक्षकों (प्रतिनिधिमंडल की तरह) के लिए एक सामान्य इंटरफ़ेस को परिभाषित करता है" तो कार्यान्वयन कैसा दिखेगा । यदि संभव हो तो छद्मकोड उदाहरण यहां मददगार होगा।