2014-04-13 9 views
19

आईओएस के लिए विकास करते समय, आपके ऐप के लिए पहला एंट्री पॉइंट -[AppDelegate application:didFinishLaunchingWithOptions:] है। इस विधि का रिटर्न प्रकार BOOL है। डिफ़ॉल्ट रूप से, इस विधि का रिटर्न प्रकार YES है। एक्सकोड द्वारा स्वचालित रूप से जेनरेट किया गया कोड यहां दिया गया है।रिटर्न प्रकार का आवेदन: किया गयाफिशिश लॉन्चिंगविथऑप्शन:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 
    // Override point for customization after application launch. 
    self.window.backgroundColor = [UIColor whiteColor]; 
    [self.window makeKeyAndVisible]; 

    return YES; 
} 

आप देख सकते हैं, Xcode आप के लिए बदले बयान में डालता है, YES के मूल्य के साथ। जब मैं वापसी विवरण का मान NO पर बदलता हूं, और कुछ और नहीं बदलता, कुछ भी नहीं होता। ऐप किसी भी असामान्य व्यवहार को छोड़ या दिखाता नहीं है। यह प्रश्न पूछता है, एक बूल लौटने की विधि का उद्देश्य क्या है, जब लौटाया मूल्य कोई फर्क नहीं पड़ता? यदि मूल्य लौटाया गया कोई फर्क नहीं पड़ता, तो विधि क्यों शून्य नहीं होती है?
नोट: NO में लौटने को बदलने के बाद मेरी उम्मीदों से कुछ कर रहे थे या तो

  • आवेदन शुरू नहीं करता है, क्योंकि यह "अनुमति" प्राप्त नहीं होता है (NO दिया जाता है)
  • या तो संकलक चेतावनी उत्पन्न करता है, या रनटाइम पर त्रुटि उठाई जाती है।
    ऐसा क्यों है कि इनमें से कोई भी चीज नहीं होती है?
+2

'आवेदन: didFinishLaunchingWithOptions:' विधि के लिए सभी दस्तावेज पढ़ें। वापसी मूल्य वहां समझाया गया है। – rmaddy

उत्तर

18

अगर वहाँ launchOptions में एक यूआरएल है और आप NO लौटने के लिए, तो ऑपरेटिंग सिस्टम है कि आप किसी कारण से प्रदान किए गए URL नहीं खोल सकता पता चल जाएगा।

इसका उपयोग किसी और चीज़ के लिए नहीं किया जाता है। चूंकि आमतौर पर launchOptions में कोई यूआरएल नहीं है, इसलिए आमतौर पर इससे कोई फर्क नहीं पड़ता कि आप क्या लौटते हैं।

तो बस YES वापस करें। आप ऐप्पल प्रलेखन here में और अधिक पढ़ सकते हैं।

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