NSInteger myInt = 1804809223;
NSLog(@"%i", myInt); <====
उपरोक्त कोड एक त्रुटि पैदा करता है:
प्रकार 'NSInteger' के मानों का उपयोग प्रारूप तर्क के रूप में नहीं किया जाना चाहिए; इसके बजाय एक स्पष्ट कलाकारों को 'लंबे' में जोड़ें
सही NSLog
संदेश वास्तव में है NSLog(@"%lg", (long) myInt);
। मैं क्यों की पूर्णांक मान परिवर्तित करने के लिए क्या myInt
करने के लिए long
अगर मैं प्रदर्शित करने के लिए मूल्य चाहते हैं?
NSInteger
है , लेकिन ऐसा लगता है कि आप ओएस एक्स लक्ष्य (जहां है ) के साथ संकलन कर रहे हैं । NSInteger
long
NSLog(@"%ld", (long) myInt);
, तोlong
कास्ट कोl
क्वालिफायर के साथ मैच करना होता है%ld
, लेकिन यह सब अनावश्यक है जैसाNSLog(@"%d", myInt);
कि पर्याप्त है (यह देखते हुए कि हमmyInt
नहीं देख सकते हैंlong
। नीचे की रेखा,myInt
यदि आप प्रारूप में लंबे समय तक क्वालीफायर का उपयोग कर रहे हैं)। स्ट्रिंग, लेकिन यहां लंबे स्ट्रिंग प्रारूप वाले क्वालीफायर याlong
कास्ट का उपयोग करने की कोई आवश्यकता नहीं है।