मैं उन परिस्थितियों को समझने में रुचि रखता हूं जो एक डेवलपर को ओवरराइड + इनिशियलाइज़ या लोड करने में अग्रणी हैं। दस्तावेज़ीकरण यह स्पष्ट करता है कि इन तरीकों को ऑब्जेक्टिव-सी रनटाइम द्वारा आपके लिए कहा जाता है, लेकिन यह वास्तव में उन सभी तरीकों के प्रलेखन से स्पष्ट है। :-)
मेरी जिज्ञासा Apple के उदाहरण कोड - MVCNetworking को देखने से आती है। उनके मॉडल वर्ग में एक +(void) applicationStartup
विधि है। यह फाइलसिस्टम पर कुछ हाउसकीपिंग करता है, NSDefaults, etc आदि पढ़ता है ... और, NSObject के क्लास के तरीकों को टटोलने के बाद, ऐसा लगता है कि यह चौकीदार काम + भार में डालना ठीक हो सकता है।
मैंने MVCNetworking प्रोजेक्ट को संशोधित किया, App Delegate to + applicationStartup में कॉल को हटा दिया, और हाउसकीपिंग बिट्स को + लोड में डाल दिया ... मेरे कंप्यूटर में आग नहीं लगी, लेकिन इसका मतलब यह नहीं है कि यह सही है! मैं एक कस्टम सेटअप विधि के आसपास किसी भी सूक्ष्मता, गोच और व्हॉट्स की समझ हासिल करने की उम्मीद कर रहा हूं, जिसे आपको बनाम + लोड या + इनिशियलाइज़ करना होगा।
+ लोड प्रलेखन के लिए कहते हैं:
लोड संदेश उन वर्गों और श्रेणियों को भेजा जाता है जो गतिशील रूप से लोड और सांख्यिकीय रूप से जुड़े होते हैं, लेकिन केवल तभी जब नया लोड किया गया वर्ग या श्रेणी एक ऐसी विधि लागू करती है जो प्रतिक्रिया दे सकती है।
यदि आप सभी शब्दों का सही अर्थ नहीं जानते हैं तो यह वाक्य कठिन और कठिन है। मदद!
"दोनों गतिशील रूप से लोड और सांख्यिकीय रूप से जुड़े हुए" से क्या मतलब है? क्या कुछ गतिशील रूप से लोड किया जा सकता है और सांख्यिकीय रूप से जुड़ा हुआ है, या वे पारस्परिक रूप से अनन्य हैं?
"... नई भरी हुई कक्षा या श्रेणी एक ऐसी विधि को लागू करती है जो प्रतिक्रिया दे सकती है" क्या विधि? कैसे जवाब दें?
+ आरंभिक रूप में, प्रलेखन कहता है:
प्रारंभ में इसे केवल एक बार प्रति वर्ग के लिए लागू किया जाता है यदि आप वर्ग के लिए और वर्ग की श्रेणियों के लिए स्वतंत्र प्रारंभ करना चाहते हैं, तो आपको लोड विधियों को लागू करना चाहिए।
मैं इसका मतलब यह है, "अगर आपके वर्ग की स्थापना की कोशिश कर रहा है ... प्रारंभ का उपयोग न करें।" अच्छा ठीक है। जब मैं शुरू में ओवरराइड करूंगा तो क्यों?
+load
श्रेणियों के लिए अलग से भेजा गया है; अर्थात्, प्रत्येक वर्ग के प्रत्येक वर्ग में अपनी+load
पद्धति हो सकती है ।