didFinishLaunchingWithOptions
नहीं कहा जाना चाहिए जब ऐप पहली बार चल रहा है? मैंने इस विधि पर ब्रेकपॉइंट सेट किया है और जब मैं सिम्युलेटर में ऐप चलाता हूं तो ब्रेकपॉइंट हिट नहीं होता है, जिसका अर्थ है कि विधि को कॉल नहीं किया जाता है। जब भी ऐप लॉन्च होता है तो मैं UserDefaults से कुछ डेटा लोड करने का प्रयास कर रहा हूं, लेकिन इसे पूरी तरह से अनदेखा किया जा रहा है। एक बात मैंने देखी है कि यह func
के बजाय डिफ़ॉल्ट रूप से private func
है। अगर मैं private
से छुटकारा पाता हूं, तो मुझे एक चेतावनी मिलती है कि "UIAplplicationDelegate में लगभग समान वैकल्पिक आवश्यकता है"। क्या कोई मुझे बता सकता है कि इसका क्या अर्थ है और private func
को अनदेखा किए जाने वाले तरीके से क्या करना है या नहीं? जब मैं सिम्युलेटर में अपना ऐप चलाता हूं तो क्या यह विधि भी कॉल की जानी चाहिए? यदि नहीं, तो मेरे ऐप लॉन्च होने के बाद डेटा को पुनर्प्राप्त किए जाने पर मैं कैसे परीक्षण कर सकता हूं? AppDelegate
में अन्य सभी विधियों को सामान्य रूप से कॉल किया जाता है (उदाहरण के लिए, applicationDidEnterBackground
विधि पूरी तरह ठीक काम करती है)।निजी func didFinishLaunchingWithOptions नहीं कहा जा रहा है? (स्विफ्ट 3)
उत्तर
अपने विधि हस्ताक्षर निकाल लें और Xcode स्वत: पूर्ण कर यह
मैं भी समस्या यह है कि AppDelegate में मेरी didFinishLaunchingWithOptions
विधि नहीं कहा जा होता था की है। मेरा कार्य भी निजी चिह्नित किया गया था और यह
private func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool
समस्या यह है कि यह पुराना वाक्यविन्यास है! स्पष्ट रूप से मेरे लिए जब मैंने अपनी परियोजना को स्विफ्ट 2.x से स्विफ्ट 3 एक्सकोड में परिवर्तित किया, तो ऐपडिलेगेट में विधियों को परिवर्तित नहीं किया। नई वाक्य रचना इस
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey : Any]? = nil) -> Bool
क्या आपने में से किसी एक में didFinishLaunchingWithOptions
लागू किया है? इस विधि के कस्टम कार्यान्वयन के लिए कोई कॉल नहीं मिलेगा। इस विधि को ApplicationDelegate
में परिभाषित किया गया है और ऐप लॉन्च होने के बाद इसे हमेशा कॉल किया जाएगा। यदि आपने किसी भी ViewController
में विधि को फिर से परिभाषित नहीं किया है और AppDelegate
में से एक को नहीं कहा जा रहा है, तो सिम्युलेटर को रीसेट करने का प्रयास करें। सिम्युलेटर मेनू Simulator -> Reset content and settings
से।
यदि कंपाइलर didFinishLaunchingWithOptions
विधि को निजी बनाने के लिए संकेत देता है तो विधि का पैरामीटर त्रुटि उत्पन्न कर सकता है। एप्लिकेशन का पैरामीटर (_: didFinishLaunchingWithOptions :) प्रतिनिधि विधि अब [NSObjectLaunchOptionsKey: Any] ?, [NSObject: AnyObject] की बजाय स्विफ्ट को ब्रिज किया गया है? तो दिखाए गए विधि हस्ताक्षर को संशोधित करें।
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
// ...
}
सामग्री और सेटिंग्स को रीसेट की कोशिश की, काम नहीं किया। और नहीं, मैंने कहीं और विधि को लागू नहीं किया है, मुझे पता है कि यह बेकार है, क्योंकि यह एक प्रतिनिधि विधि है।मुझे अभी भी लगता है कि जब मैं विधि कॉल के सामने 'निजी' से छुटकारा पाता हूं तो मुझे चेतावनी के साथ कुछ करना पड़ता है। या कम से कम यह 'निजी' कथन हो सकता है जो रनटाइम पर विधि को अनदेखा कर सकता है? –
संपादित एक को आजमाएं – Mathews
इस विधि ApplicationDelegate में परिभाषित किया गया है और यह हमेशा एक बार एप्लिकेशन शुरू की है बुलाया जाएगा। यदि आपने किसी भी ViewController में विधि को फिर से परिभाषित नहीं किया है और AppDelegate में से एक को नहीं कहा जा रहा है, तो सिम्युलेटर को रीसेट करने का प्रयास करें।
ओपन सिम्युलेटर -> मेनू सिम्युलेटर -> सामग्री और सेटिंग्स रीसेट करें।
-(BOOL)application(UIApplication*)applicationdidFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
//..
}
स्विफ्ट ~ के लिए की तरह लग रहा 3.0 didFinishLaunchingWithOptions साथ बदलें follwing हस्ताक्षर
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey : Any]? = nil) -> Bool {
}
- 1. didSelectRowAtIndexPath को नहीं कहा जा रहा है (स्विफ्ट)
- 2. func collectionViewContent स्विफ्ट 3
- 3. func 'निजी' सुरक्षा स्तर
- 4. आगे इंवेक्शन नहीं कहा जा रहा है?
- 5. डेलमेन नहीं कहा जा रहा है?
- 6. क्यों -DidDeselectRowAtIndexPath नहीं कहा जा रहा है?
- 7. didSelectRowAtIndexPath काम नहीं कर रहा है, स्विफ्ट 3
- 8. टेक्स्ट फ़ील्डशल्डरटन फ़ंक्शन क्यों नहीं कहा जा रहा है?
- 9. एसओएपी प्रतिक्रिया वस्तु से निर्माता नहीं कहा जा रहा है
- 10. ऑनबैक क्यों किया जाता है() नहीं कहा जा रहा है?
- 11. $ HTTP_RAW_POST_DATA क्यों कहा जा रहा है?
- 12. मेरा सिग्नल हैंडलर क्यों नहीं कहा जा रहा है?
- 13. मेटाक्लास को उप-वर्गों में नहीं कहा जा रहा है
- 14. जावास्क्रिप्ट फ़ंक्शन को "fiddle" में नहीं कहा जा रहा है
- 15. एंड्रॉयड स्पिनर, onItemSelected (...) कहा जाता है नहीं किया जा रहा
- 16. UIView Subclass initWithFrame नहीं कहा जा रहा है?
- 17. एंड्रॉइड/जावा: ऑन प्रोग्रेसअपडेट() को नहीं कहा जा रहा है?
- 18. मैं एक func स्विफ्ट
- 19. स्विफ्ट प्रतिनिधि को कॉल नहीं किया जा रहा
- 20. स्विफ्ट 3 टाइमर फायरिंग नहीं
- 21. स्विफ्ट 3
- 22. स्विफ्ट 3
- 23. गलत विशेष सामान्य समारोह स्विफ्ट 3 में कहा जाता हो जाता है एक अप्रत्यक्ष कॉल
- 24. स्विफ्ट 3
- 25. स्विफ्ट 3
- 26. स्विफ्ट 3
- 27. अधिसूचना स्विफ्ट 3
- 28. आवेदन (_: didFinishLaunchingWithOptions :) 'लगभग वैकल्पिक आवश्यकता
- 29. स्विफ्ट 3
- 30. स्विफ्ट 3 -
क्षमा करें, मैंने वास्तव में कुछ समय पहले इस मुद्दे को ठीक किया था। उत्तर के रूप में इस प्रश्न को चिह्नित करने के लिए भूल गए। इस समस्या को ठीक करने के लिए, मुझे इस विधि के शब्दकोश पैरामीटर के मान के रूप में 'AnyObject' को' Any' 'से बदलना पड़ा था। यह वास्तव में अजीब है कि आप अभी भी स्विफ्ट 3 में 'AnyObject' को कॉल कर सकते हैं, भले ही उस वर्ग का नाम बदलकर 'Any' कर दिया गया हो और पूरी तरह से बहिष्कृत हो। लेकिन उन प्रकार के वर्गों के कुछ अन्य उदाहरण भी हैं, 'AnyObject' केवल एकमात्र नहीं है। –
वही है जो मैं कहने की कोशिश कर रहा था। विधि हस्ताक्षर किसी भी ऑब्जेक्ट से किसी भी में बदल गया है, इसलिए AnyObject के साथ आपकी विधि को 'didFinishLaunching' विधि – Yannick
के रूप में पहचाना नहीं गया था, यह बहुत पागल है कि रूपांतरण इस फ़ंक्शन को परिवर्तित करने में विफल रहता है और इसके परिणामस्वरूप इसे नहीं कहा जा रहा है .... – jarryd