2015-11-04 16 views
5

में है, मैं प्रारूप विनिर्देशकों के साथ काम कर रहा हूं लेकिन वे %d या %@ जैसे सामान्य थे लेकिन आज एक ट्यूटोरियल में मैंने इन %[email protected]%2$d को देखा और समझ में नहीं आया वे क्या प्रतिनिधित्व करते हैं।
यह एक कैलक्यूलेटर उदाहरण था इसलिए वे इन कथन में उनका उपयोग कर रहे हैं: stack = [NSString stringWithFormat:@"%[email protected]%2$d",stack,number];

उत्तर

5

संख्याएं स्थितित्मक पैरामीटर का प्रतिनिधित्व करती हैं। प्रारूप स्ट्रिंग का पालन करने वाले पैरामीटर पैरामीटर सूची में उनकी स्थिति के आधार पर स्ट्रिंग में फिसल गए हैं। पहला पैरामीटर% 1 स्लॉट में जाता है, दूसरा% 2 स्लॉट में होता है, और इसी तरह। इसका उद्देश्य उन भाषाओं से निपटना है जहां शब्दों/शब्दों/आदि का क्रम आपके डिफ़ॉल्ट से बदल सकता है। आप रनटाइम पर पैरामीटर ऑर्डर नहीं बदल सकते हैं, लेकिन आप यह सुनिश्चित कर सकते हैं कि स्ट्रिंग में सही जगह पर पैरामीटर समाप्त हो जाएं।

उदाहरण

NSLog(@"%[email protected], %[email protected]", @"Red", @"Blue"); 
NSLog(@"%[email protected], %[email protected]", @"Red", @"Blue"); 

आउटपुट

Red, Blue 
Blue, Red 

ध्यान दें कि प्रारूप स्ट्रिंग बदल गया है, लेकिन मानकों उसी क्रम में कर रहे हैं।

+0

मैं देखता हूं। लेकिन हम '$' चिह्न का उपयोग क्यों कर रहे हैं? –

+0

यह कमाल है, मैं इसे कभी नहीं जानता था! –

+0

$ स्थितित्मक का हिस्सा है। मैंने उन्हें अपने उदाहरण से बाहर छोड़ दिया। प्रकार का एक टाइपो। – Avi

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