एक्सकोड 3.2 के रूप में, मैक एप्लिकेशन टेम्पलेट भी एक एप्लिकेशन प्रतिनिधि के साथ आता है, जो पहले से जुड़ा हुआ है, जिसमें ऐसी विधि है।
एक्सकोड 3.2 से पहले बनाई गई परियोजना में इसे स्थापित करने के लिए, अपने प्रतिनिधि के लिए एक नई कक्षा बनाएं। मैं आमतौर पर मेरा "AppDelegate" नाम देता हूं। आप कक्षा समूह पर राइट-क्लिक करके और "फ़ाइल जोड़ें" चुनकर, कोको एनएसओब्जेक्ट सबक्लास फ़ाइल टेम्पलेट चुनकर ऐसा करेंगे।
आपके द्वारा अभी बनाए गए शीर्षलेख को खोलें (AppDelegate.h)। इसे किसी भी आवृत्ति चर दें जो आप चाहते हैं। फिर काउंटरपार्ट पर जाएं। यह आपको कार्यान्वयन फ़ाइल (AppDelegate.m) पर ले जाता है। यहां अपनी applicationDidFinishLaunching:
इंस्टेंस विधि जोड़ें। आईफोन के विपरीत, यह एक अधिसूचना-हैंडलर विधि है, इसलिए यह एनएसएनोटिफिकेशन इंस्टेंस लेता है, न कि एनएसएप्लिकेशन इंस्टेंस।
अब इसे हुक करने के लिए। संसाधन समूह में, MainMenu.nib खोलें। लाइब्रेरी विंडो से ऑब्जेक्ट को शीर्ष-स्तरीय निब विंडो में खींचें (इसमें आइकन वाले आइकन, जैसे फ़ाइल के स्वामी और फर्स्ट रेस्पॉन्डर)। उस वस्तु का चयन करें जिसे आपने अभी बनाया है और पहचान निरीक्षक खोलें। ऑब्जेक्ट की कक्षा को AppDelegate पर सेट करें, जो आपने एक्सकोड में उपयोग किए गए नाम से मेल खाता है। फ़ाइल के मालिक पर राइट-क्लिक करें, और अपनी नई ऑब्जेक्ट पर delegate
आउटलेट से खींचें।
एक्सकोड में, अपने applicationDidFinishLaunching:
विधि में एक NSLog कथन जोड़ें। सभी को हिट करें, फिर बिल्ड करें और जाएं। एक्सकोड पर वापस स्विच करें और डीबगर कंसोल खोलें। अगर आपने सब कुछ सही किया और मैंने कुछ भी नहीं भूल लिया, तो आपको वहां लॉग संदेश देखना चाहिए।
स्रोत
2009-09-03 20:16:50
आप 'चारों ओर सुपर init' एक कोण कोष्ठक याद कर रहे हैं और आपको लगता है कि विधि' applicationDidFinishLaunching उल्लेख नहीं है: 'ssame वर्ग द्वारा लागू किया जाना चाहिए यह काम करने के लिए। – MKroehnert