2011-11-06 13 views
9

मैंने अभी UISplitViewController के साथ खेलना शुरू कर दिया है - मैंने विभिन्न ट्यूटोरियल से कुछ कोड को एक साथ जोड़ दिया है, लेकिन मुझे मास्टर से विस्तार से डेटा भेजने का तरीका देखने में परेशानी हो रही है। मैं खुद को यह बताने के लिए एक आरएसएस रीडर बना रहा हूं कि इसे कैसे काम करना चाहिए। मैंने एक आरएसएस फ़ीड पार्स किया है और एक UITableView के साथ MasterViewController को पॉप्युलेट किया है, लेकिन मैं एक पंक्ति क्लिक करने के बारे में पता लगा रहा हूं और विवरण में UIWebView में संबंधित आलेख को विवरण ViewController में लोड कर रहा हूं। किसी भी सुझाव की सराहना की जाती है।UISplitViewController मास्टर/विस्तार संचार

उत्तर

10

प्रतिनिधियों का उपयोग करना एक अच्छा तरीका है। इससे एक दृश्य दूसरे कॉलबैक को कॉलबैक कॉल करने की अनुमति देता है। इस मामले में विस्तार दृश्य मौजूदा मास्टर पर निर्भर करता है ताकि कॉलबैक ठीक हो। मैं उन्हें एक-दूसरे के प्रत्यक्ष संदर्भ देने और सीधे एक-दूसरे के डेटा पढ़ने से बचना चाहूंगा।

http://www.raywenderlich.com/1040/ipad-for-iphone-developers-101-uisplitview-tutorial

विशेष रूप से इस खंड:

Hooking ऊपर वाम

What exactly does delegate do in xcode ios project?

यहाँ कि (मास्टर/विस्तार के बीच प्रतिनिधि) सिर्फ इतना है कि करता है UISplitViewController के साथ एक ट्यूटोरियल है दाएं

के साथ 210

मिलान करने वाले और हुक इन दोनों पक्षों को एक साथ खेलने का समय।

इस बात को पूरा करने के लिए के लिए कई अलग-अलग रणनीतियां हैं। स्प्लिट व्यू एप्लिकेशन टेम्पलेट में वे बाएं व्यू कंट्रोलर को दाएं व्यू कंट्रोलर, पर पॉइंटर दें और बाएं व्यू कंट्रोलर एक पंक्ति चुनने पर दाएं दृश्य नियंत्रक पर एक प्रॉपर्टी सेट करता है। सही दृश्य नियंत्रक संपत्ति को अद्यतन होने पर दृश्य को अद्यतन करने के लिए ओवरराइड करता है। यह ठीक काम करता है, लेकिन हम UISplitViewController क्लास संदर्भ में सुझाए गए दृष्टिकोण का पालन करने जा रहे हैं - प्रतिनिधि का उपयोग करें। मूल विचार यह है कि हम एकल विधि - "चयनितबॉट चेंज" के साथ एक प्रोटोकॉल को परिभाषित करने जा रहे हैं। हमारा दाहिना हाथ इस विधि को लागू करेगा, और हमारे बाएं हाथ की ओर किसी प्रतिनिधि के को स्वीकार करेगा जो इस बारे में जानना चाहता है । तरह की तरह सूचनाओं के साथ एक सिंगलटन अधिसूचना से या तो डेटा या एक मॉडल परिवर्तन की प्रतिक्रिया में मॉडल की क्वेरी के आधार पर खुद को अद्यतन करने के लिए अलग-अलग दृश्यों को गति प्रदान करने -

एक और दृष्टिकोण एक साझा मॉडल के लिए किया जाएगा। यह कभी-कभी कई विचारों के साथ एक ऐप में बेहतर होता है जो एक-दूसरे पर भरोसा नहीं करते हैं और विभिन्न तरीकों से डेटा को बुलबुला करते हैं (जो यहां मामला नहीं है - विस्तार दृश्य मौजूदा मास्टर पर निर्भर करता है इसलिए एक प्रतिनिधि ठीक है)।

+0

बस इस प्रश्न में विस्तार से उत्तर दिया। http://stackoverflow.com/questions/33721081/swift-how-to-detect-if-uisplitviewcontroller-is-currently-showing-1-or-2-contro/38547858#38547858 –

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