आप लॉग इन करें और आगे बढ़ने की जरूरत है, तो आप NSAssert उपयोग करने की आवश्यकता नहीं है।
आम तौर पर, गंभीर गलती का पता चला है, तो तुरंत आवेदन के निष्पादन को रोकने के लिए डेवलपर्स द्वारा डीबग बिल्ड में डेवलपर्स द्वारा उपयोग किए जाने का दावा किया जाता है। डिफ़ॉल्ट रूप से, एक्सकोड परियोजनाओं ने रिलीज में NS_BLOCK_ASSERTIONS सेट किए हैं ताकि एनएसएएसएसर्ट कॉल संकलित हो जाएं।
मामूली समस्याओं के लिए जो केवल कंसोल पर लॉग इन करने की आवश्यकता है, आपको केवल NSLog का उपयोग करना चाहिए। (डीबगर कंसोल वास्तव में 'stdout' को भेजा गया डेटा दिखाता है, जहां एनएसएलओजी अपने परिणाम भेजता है।)
यदि आपको लॉग इन करने के लिए बिल्ड करने और रिलीज़ करने के लिए डीबग संस्करणों की आवश्यकता है, तो बस दोनों का उपयोग करें। हां, इसका मतलब है कि आपके पास कोड में दो बार एक ही विवरण दिखाई दे सकता है, लेकिन यह ठीक है। यह किसी भी डेवलपर द्वारा आसानी से समझा जाएगा। (आप परिणाम स्ट्रिंग पहले बना सकते हैं, यदि आप चाहें तो एनएसएएसएसर्ट और एनएसएलओजी दोनों को फ़ीड करें।)
यदि आपको एनएसएएसएसर्ट कॉल के व्यवहार को ओवरराइड करना होगा, तो आपके पास 2 विकल्प हैं: 1- मैक्रो परिभाषा बदलें परिणाम बदलने के लिए एनएसएएसएसर्ट, एनएसएएसएसर्ट 1, एनएसएएसएसर्ट 2, आदि का। 2- अपने धागे पर अपने स्वयं के एनएसएएसएसरशन हैंडलर ऑब्जेक्ट की आपूर्ति करें और इसे अपवाद फेंकने से रोकें।
स्रोत
2013-02-14 07:05:55