मैं अपने मैक ओएस एक्स आवेदन में कोड की निम्न पंक्ति है:NSLog मुझे चेतावनी जो सुधार-नहीं हैं दे
NSLog(@"number of items: %ld", [urlArray count]);
और मैं चेतावनी मिलती है: "स्वरूप को निर्दिष्ट प्रकार 'लंबी' लेकिन तर्क टाइप है 'NSUInteger' (उर्फ 'अहस्ताक्षरित int') "
हालांकि, अगर मैं अपने कोड बदलने के लिए:
:NSLog(@"number of items: %u", [urlArray count]);
मैं चेतावनी मिलती है
स्वरूप टाइप 'अहस्ताक्षरित int' निर्दिष्ट करता है, लेकिन तर्क टाइप 'NSUInteger' (उर्फ 'अहस्ताक्षरित लंबे')
तो फिर मैं इसे
NSLog(@"number of items: %u", [urlArray count]);
करने के लिए बदल गया है, लेकिन मैं चेतावनी मिलती है: स्वरूप निर्दिष्ट करता है 'unsigned long' टाइप करें लेकिन तर्क में 'NSUInteger' टाइप किया गया है (उर्फ 'unsigned int')
मैं अपना एनएसएलओजी कैसे स्थापित कर सकता हूं ताकि यह चेतावनी उत्पन्न न करे? यदि मैं एक्सकोड के सुझावों का पालन करता हूं तो मैं प्रारूप विनिर्देशक को बदलने के अंतहीन पाश में प्रवेश करता हूं लेकिन चेतावनियां कभी नहीं जातीं।
यही नहीं बल्कि अनावश्यक लगता है, लेकिन यह चेतावनी अप स्पष्ट करता है। – Jackson
यह सुनिश्चित नहीं है कि इससे कोई फर्क पड़ता है लेकिन आपको शायद प्रारूप विनिर्देशक के समान प्रकार के मामले में होना चाहिए। तो (हस्ताक्षरित लंबा)% lu होगा, या (लंबा)% ld –
होगा @ डैरेन यह एक फर्क पड़ता है, ऐसा नहीं कर रहा अपरिभाषित व्यवहार है। –