2012-08-28 14 views
29

में पूर्णांक परिवर्तित मैं NSString में एक यादृच्छिक पूर्णांक संख्या परिवर्तित और फिर एक और NSString को NSString प्रदान करना चाहते हैं, लेकिन यह एप्लिकेशनNSString

मैं कर रहा हूँ निम्नलिखित

int mynumber =(arc4random() % 1000); 

unique = [NSString stringWithFormat:@"%d",mynumber]; 

    NSLog(unique) 

    NSString*test=unique; 

यह दुर्घटना देता दुर्घटनाओं जब मैं अंतिम पंक्ति लिखता हूं;

यह unique स्ट्रिंग को nslog करते समय भी मूल्यों को प्रिंट करता है।

+0

देखें: [http://stackoverflow.com/questions/3574632] [1]: http://stackoverflow.com/questions/3574632/how-to-convert-an-int-to-nsstring –

उत्तर

90

आप स्ट्रिंग के लिए पूर्णांक बदलना चाहते हैं

NSString *strFromInt = [NSString stringWithFormat:@"%d",yourintvalue]; 
1
NSString *anotherStr; 
int myNumber = (arc4random() % 1000); 
NSString *stringNum = [NSString stringWithFormat:@"%i", myNumber]; 
anotherStr = stringNum; //assign NSString to NSString 
// Here you can convert NSString to Int if you want. 
NSLog(@"My number as NSString = %@", stringNum); 
int getNumFromString = [stringNum intValue]; 

NSLog(@"My number from NSString = %i", getNumFromString); 
0

आपने एनएसएलओजी कथन का गलत इस्तेमाल किया है। इसे नीचे जैसा इस्तेमाल किया जाना चाहिए था।

NSLog(@"%@",unique);

47

यह भी काम करता है:

NSString *str = [@(number) stringValue]; 

या, यदि आप डॉट नोटेशन पसंद करते हैं:

NSString *str = @(number).stringValue; 

थी एस बॉक्सिंग सिंटैक्स @(...) अभिव्यक्ति का उपयोग करके NSNumber पर आदिम मान को बॉक्स करेगा, फिर इसे NSString में बदलने के लिए 'stringValue विधि का उपयोग करें। यह अन्य आदिम मूल्यों के लिए भी काम करना चाहिए (NSInteger, float, double, long, ...)।

+0

क्या 'stringWithFormat' वाक्यविन्यास पर कोई डिस/लाभ है? – jerik

+2

यहां का लाभ यह है कि यह किसी भी आदिम प्रकार के लिए काम करता है, आपको प्रारूप पैरामीटर को स्पष्ट रूप से सेट करने की आवश्यकता नहीं है। इसके अलावा, मुझे यह अधिक संक्षिप्त और समझदार लगता है, लेकिन यह स्वाद का विषय है। यह अभिव्यक्ति मुक्केबाजी वाक्य रचना, XCode में शुरू के साथ संभव हो सका 4.4 – d4n3

+3

यह और भी आधुनिक हो सकता है: '@ (संख्या) .stringValue' –