दिलचस्प पोस्ट
ग्लैबल और स्थानीय अजगर exec () में कॉलबैक फ़ंक्शन में एक अतिरिक्त तर्क दें कैसे निष्पादन योग्य जार फ़ाइल बनाने के लिए? AsyncTask एंड्रॉइड उदाहरण वीबीए में उप-डीडी की सूची प्राप्त करें उचित लिंक जहां धाराएं सी #: अतिभारित विधि के लिए अशक्त पासिंग – किस विधि को कहा जाता है? ऑफ़लाइन स्थापना के लिए ईक्लिप्स प्लग-इन अपडेट साइट डाउनलोड करना सूची की प्रतिलिपि करने का सबसे अच्छा तरीका क्या है? संदर्भ: mod_rewrite, URL पुनर्लेखन और "सुंदर लिंक" समझाया java.net.ConnectException: लोकलहोस्ट / 127.0.0.1: 8080 – कनेक्शन ने इनकार कर दिया मैक्सलेम्बन एट्रिब्यूट ग्राहक-साइड सत्यापन विशेषताएँ पैदा नहीं कर रहा है एमवीसी 4 में उचित जेएसओएन सीरियलायजेशन Android Gradle प्लगइन 0.7 के साथ एनडीके को कॉन्फ़िगर कैसे करें विन्यास के लिए सभी निर्भरताओं को हल नहीं किया जा सका ': _armv7DebugCompile'

ऐप मेरे विचार के लिए पृष्ठभूमि में प्रवेश कर रहा है, यह पता लगाने का सबसे अच्छा तरीका क्या है?

मेरे पास एक दृश्य नियंत्रक है जो कुछ कोड निष्पादित करने के लिए एक NSTimer का उपयोग करता है।

ऐप पृष्ठभूमि पर जा रहा है जब पता लगाने का सबसे अच्छा तरीका क्या है, तो मैं टाइमर रोक सकता है?

Solutions Collecting From Web of "ऐप मेरे विचार के लिए पृष्ठभूमि में प्रवेश कर रहा है, यह पता लगाने का सबसे अच्छा तरीका क्या है?"

जब कोई ऐप पृष्ठभूमि में सूचनाएं प्राप्त करता है तो आप में रुचि रखने वाले किसी भी क्लास में हो सकता है यह ऐप्पडिएलेट के साथ इन वर्गों को युग्मल करने का एक अच्छा विकल्प है।

प्रारंभ करते समय वर्गों ने कहा:

 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(appWillResignActive:) name:UIApplicationWillResignActiveNotification object:nil]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(appWillTerminate:) name:UIApplicationWillTerminateNotification object:nil]; 

सूचनाओं का जवाब देना

 -(void)appWillResignActive:(NSNotification*)note { } -(void)appWillTerminate:(NSNotification*)note { [[NSNotificationCenter defaultCenter] removeObserver:self name:UIApplicationWillResignActiveNotification object:nil]; [[NSNotificationCenter defaultCenter] removeObserver:self name:UIApplicationWillTerminateNotification object:nil]; } 

अपने अनुप्रयोगों पर AppDelegate (void)applicationDidEnterBackground:(UIApplication *)application विधि आईओएस द्वारा बुलाया जाएगा आप वहां अपना टाइमर रोक सकते हैं।

स्विफ्ट 3.0 में

 override func viewDidLoad() { super.viewDidLoad() let app = UIApplication.shared //Register for the applicationWillResignActive anywhere in your app. NotificationCenter.default.addObserver(self, selector: #selector(ViewController.applicationWillResignActive(notification:)), name: NSNotification.Name.UIApplicationWillResignActive, object: app) } func applicationWillResignActive(notification: NSNotification) { } 

- (void)applicationWillResignActive:(UIApplication *)application आपके ऐप प्रतिनिधि पर - (void)applicationWillResignActive:(UIApplication *)application आप अन्य वस्तुओं पर UIApplicationWillResignActiveNotification अधिसूचना के लिए पंजीकरण भी कर सकते हैं।

आपको जरूरी नहीं कि टाइमर को रोकना होगा, यद्यपि। अगर आप कुछ भी नहीं करते हैं, तो ऐप को वैसे भी सोएगा और कोई भी कोड निष्पादित नहीं करेगा। संभव है कि आपका टाइमर फिर से सक्रिय हो जाएंगे (यदि आप करते हैं)। यदि आपको कुछ खास करने की ज़रूरत है तो 'सक्रिय बनें' प्रतिनिधि विधि और सूचनाएं जो आप के लिए भी पंजीकृत कर सकते हैं

स्विफ्ट में ऐसा करने वाले लोगों के लिए:

init :

 NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(applicationWillResignActive), name: UIApplicationWillResignActiveNotification, object: nil) 

deinit :

 NSNotificationCenter.defaultCenter().removeObserver(self, name: UIApplicationWillResignActiveNotification, object: nil) 

सूचना का जवाब देना:

 dynamic private func applicationWillResignActive() { // Do things here } 

ऐप्पल हमें स्विफ्ट में जब भी गतिशील प्रेषण और उद्देश्य-सी चयनकर्ताओं से बचने के लिए प्रेरित करती है, लेकिन यह अभी भी ऐसा करने का सबसे सुविधाजनक तरीका है।

यह SWIFT 3 के लिए प्रयास करें: ऐप पर DelegateRemoteNotification में AppDelegate फ़ाइल

  if application.applicationState == UIApplicationState.active { // TODO ACTIVE APP // Post notification NotificationCenter.default.post(name: Notification.Name("MY_NAME_NOTIFICATION"), object: nil, userInfo: userInfo) } else if application.applicationState == UIApplicationState.inactive { // TODO INACTIVE APP } else if application.applicationState == UIApplicationState.background { // TODO BACKGROUND APP } 

और फर्स्टव्यूकंट्रोलर में ओबीसीईआरआर जोड़ें

  override func viewDidLoad() { super.viewDidLoad() let nc = NotificationCenter.default // Note that default is now a property, not a method call nc.addObserver(self, selector: #selector(self.CallNotificationObserver), name:Notification.Name("MY_NAME_NOTIFICATION"), object: nil) }