2010-05-26 5 views
9

मैं प्रोग्राम के रूप में अपने विचार लोड करने के लिए फैसला किया है का उचित उपयोग, इसलिए डाल:UIApplicationMain

int ret = UIApplicationMain(argc, argv, nil, nil); 

काम नहीं करेंगे। मेरे पास एक व्यू कंट्रोलर और ऐपडिलेगेट है, हालांकि। ViewController और AppDelegate का उपयोग करने के लिए UIAplicationMain का उचित उपयोग क्या होगा।
पीएस मैं एक्सकोड या इंटरफेस बिल्डर का उपयोग नहीं कर रहा हूं, मैं टूलचेन पर विकास कर रहा हूं।

उत्तर

16

This function is declared as

int UIApplicationMain (
    int argc, 
    char *argv[], 
    NSString *principalClassName, 
    NSString *delegateClassName 
); 

जब से तुम UIApplication उपवर्ग नहीं था, 3 तर्क को nil गुजरती हैं। लेकिन आपके पास एक कस्टम यूआईएप्लिकेशंस डिलेगेट है। तो अपने वर्ग का नाम चौथे तर्क में पास करें।

int retval = UIApplicationMain(argc, argv, nil, @"AppDelegate"); 
+0

UIAplplication subclassing का लाभ क्या होगा? –

+0

@ मोहित: यूआईपीप्लिकेशन के कुछ डिफ़ॉल्ट व्यवहार को प्रतिस्थापित करने के लिए, उदा। 'SendAction: करने के लिए: से: forEvent:'। – kennytm

+16

किसी भी अन्य चीज़ के लिए ऐपडिलेगेट का नाम बदलने के मामले में जादू स्ट्रिंग से बचने के लिए NSStringFromClass ([AppDelegate class]) के साथ @ "AppDelegate" को बदलें। – George

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