[Swift] स्विफ्ट: प्रिंट () बनाम println () बनाम NSLog ()


Answers

यदि आप स्विफ्ट 2 का उपयोग कर रहे हैं, तो अब आप आउटपुट में कुछ लिखने के लिए प्रिंट () का उपयोग कर सकते हैं।

ऐप्पल ने दोनों println () और प्रिंट () कार्यों को एक में जोड़ दिया है।

आईओएस 9 में अपडेट किया गया

डिफ़ॉल्ट रूप से, फ़ंक्शन लाइन लाइन को जोड़कर प्रिंट करता है।

print("Hello Swift")

टर्मिनेटर

इसके बाद लाइन ब्रेक के बिना एक मूल्य मुद्रित करने के लिए, टर्मिनेटर के रूप में एक खाली स्ट्रिंग पास करें

print("Hello Swift", terminator: "")

सेपरेटर

अब आप एकाधिक वस्तुओं को जोड़ने के लिए विभाजक का उपयोग कर सकते हैं

print("Hello", "Swift", 2, separator:" ")

दोनों

या आप इस तरह से उपयोग कर सकते हैं

print("Hello", "Swift", 2, separator:" ", terminator:".")
Question

print , NSLog और println बीच क्या अंतर है और मुझे प्रत्येक का उपयोग कब करना चाहिए?

उदाहरण के लिए, पाइथन में अगर मैं एक शब्दकोश मुद्रित करना चाहता था, तो मैं सिर्फ अपने print myDict , लेकिन अब मेरे पास 2 अन्य विकल्प हैं। मैं कब और कब उपयोग करूँ?




रॉब के जवाब में जोड़ने के लिए, आईओएस 10.0 के बाद से, ऐप्पल ने एक पूरी तरह से नई "एकीकृत लॉगिंग" प्रणाली पेश की है जो मौजूदा लॉगिंग सिस्टम (एएसएल और सिस्लॉग, एनएसएलओजी समेत) का अधिग्रहण करता है, और प्रदर्शन में मौजूदा लॉगिंग दृष्टिकोण को भी पार करता है, इसकी नई तकनीकों के लिए धन्यवाद लॉग डेटा संपीड़न और स्थगित डेटा संग्रह लॉग इन करें।

Apple :

एकीकृत लॉगिंग सिस्टम सिस्टम के सभी स्तरों पर मैसेजिंग कैप्चर करने के लिए एक एकल, कुशल, प्रदर्शन API प्रदान करता है। यह एकीकृत प्रणाली स्मृति में लॉग डेटा के भंडारण और डिस्क पर डेटा स्टोर में केंद्रीकृत करती है।

ऐप्पल अत्यधिक लॉगिंग सिस्टम की तुलना में इसके बेहतर प्रदर्शन के कारण सूचना, डीबग, त्रुटि संदेशों सहित सभी प्रकार के संदेशों को लॉग इन करने के लिए आगे बढ़ने के लिए os_log का उपयोग करने की सिफारिश करता है, और इसके केंद्रीकृत डेटा संग्रह डेवलपर्स के लिए सुविधाजनक लॉग और गतिविधि निरीक्षण की इजाजत देता है। असल में, नई प्रणाली इतनी कम-पदचिह्न की संभावना है कि इससे "पर्यवेक्षक प्रभाव" नहीं होगा, जहां आप बग गायब हो जाते हैं, यदि आप लॉगिंग कमांड डालते हैं, तो बग के समय में हस्तक्षेप होता है।

आप यहां विवरण में इसके बारे में अधिक जान सकते हैं।

इसे समेकित करने के लिए: सुविधा के लिए अपने व्यक्तिगत डिबगिंग के लिए print() उपयोग करें (लेकिन उपयोगकर्ता डिवाइस पर तैनात किए जाने पर संदेश लॉग नहीं किया जाएगा)। फिर, एकीकृत लॉगिंग ( os_log ) जितना संभव हो सके सब कुछ के लिए उपयोग करें।