यह एक पुराना सवाल है, लेकिन मैंने अभी खुद से यही प्रश्न पूछा है। मुझे लगता है कि AppDelegate क्लास को केवल नियंत्रक के रूप में वर्गीकृत नहीं किया जा सकता है। यह नियंत्रण विंडो को नियंत्रित करता है और इसके रूट नियंत्रक को स्थापित करता है ताकि इसे व्यू कंट्रोलर के रूप में वर्गीकृत किया जा सके (नोट: UIWindow UIView से विरासत में मिलता है)। लेकिन यह ऐप समाप्त होने पर डेटा दृढ़ता जैसे मॉडल से संबंधित कार्यों को भी निष्पादित करता है। इसलिए इसे मॉडल नियंत्रक माना जा सकता है या डेटा एक्सेस लेयर के साथ भी शामिल किया जा सकता है।
यह यूआरएल खोलने के लिए भी जिम्मेदार है। इससे दृश्य परिवर्तन हो सकता है लेकिन निश्चित रूप से मॉडल से संबंधित कार्यों जैसे पार्सिंग, जारी, अद्यतन, प्रमाणीकरण आदि की आवश्यकता होगी। यदि दृश्य/मॉडल केवीओ के माध्यम से बंधे हैं तो मॉडल को अपडेट करने से आवश्यक दृश्य अपडेट हो सकते हैं। मुझे लगता है कि यह एक बेहतर सेटअप होगा। साथ ही, तथ्य यह है कि डिफ़ॉल्ट रूप से सभी कोर डेटा स्टैक को ऐपडिलेगेट में जोड़ा जाता है, इसे केवल व्यू-संबंधित होने से दूर ले जाता है।
यह सोचता है कि यह ऐप से निपटने वाली किसी भी चीज़ के लिए ज़िम्मेदार है क्योंकि इसका कई उद्देश्य हैं। शायद यही कारण है कि डेवलपर्स यहां और किसी भी चीज को फेंकने का अंत कर रहे हैं। यह रूट नियंत्रक, ऐप सेवा परत, और ऐप मॉडल प्रबंधक के अर्थ में ऐप का प्रबंधक है।
चूंकि ऐपडिएगेट ऐप (डेवलपर के लिए) के लिए प्रवेश बिंदु है, इसलिए ऐप के संदर्भ में इसकी बात करना समझ में आता है। ऐप समाप्त हो रहा है, ऐप पृष्ठभूमि में प्रवेश कर रहा है, आदि। हम ऐप के बारे में मॉडल इकाई के रूप में बात कर रहे हैं।
स्रोत
2015-03-13 18:41:22
यदि आप चाहते हैं तो आप व्यू कंट्रोलर में डेटा दृढ़ता कर सकते हैं, हालांकि इसका मतलब यह नहीं है कि आपको चाहिए। मेरी राय में, आपको वास्तविक मॉडल ऑब्जेक्ट्स में सूचीबद्ध सभी कार्यों का प्रतिनिधि होना चाहिए। –