2010-07-03 18 views
6

के अस्तित्व की जांच करें आप कैसे जांच सकते हैं कि निरंतर रनटाइम पर सेट किया गया है या नहीं? उदाहरण के लिए, आईओएस 4 में, UIApplicationDidEnterBackgroundNotification उपलब्ध है, लेकिन आईओएस 3 पर चलते समय यह एक त्रुटि के माध्यम से होगा यदि आप इसका उपयोग करने का प्रयास करते हैं।आईफोन, निरंतर

उत्तर

12

आपको शायद this other question पर देखना चाहिए, जो मेरी राय में भी आपकी उत्तर देता है। if (&UIApplicationWillEnterForegroundNotification != NULL) गतिशील-लिंकिंग-सुरक्षित होना चाहिए और आपको बताएगा कि निरंतर मौजूद है या नहीं।

+0

यदि आप एलएलवीएम का उपयोग कर रहे हैं, तो आपको अपने कथन को ऑप्टोमाइज़ करने के लिए कुछ युक्तियां करनी होंगी। यह मेरे लिए काम करता है। बूल पृष्ठभूमि ओके = और यूआईएप्लिकेशनडिडइंटरबैकग्राउंड नोटिफिकेशन! = न्यूल; यदि (पृष्ठभूमि ओके) { [[NSNotificationCenter defaultCenter] addObserver: स्वयं चयनकर्ता: @ चयनकर्ता (applicationDidEnterBackground :) नाम: UIAplplicationDidEnterBackgroundNotification bject: nil]; } –

+0

क्या यह ऑप्टिमाइज़र बग पहले से ही एलएलवीएम/क्लैंग कंपाइलर में तय किया गया है? किस संस्करण में? –

+0

यह एलएलवीएम में एक बग नहीं है, लेकिन एक सुविधा है। एलएलवीएम कोई साइड इफेक्ट के साथ बयानों को अनुकूलित करेगा और यह अच्छा है। लेकिन यह इस प्रकार के कोड के लिए सामान थोड़ा मुश्किल बनाता है। – Romain

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