2009-02-26 21 views

उत्तर

40
NSString *string = [NSString stringWithFormat:@"%@%@", @"Hello", @"World"]; 
NSLog(@"%@", string); 

यह चाल चलाना चाहिए, हालांकि मुझे यकीन है कि यह करने के लिए एक बेहतर तरीका है, बस स्मृति से बाहर। मुझे यह भी कहना होगा कि यह अनचाहे है इसलिए मुझे क्षमा करें। एनएसएसटींग के लिए stringWithFormat दस्तावेज़ीकरण को ढूंढना सबसे अच्छी बात है।

+0

आप जूस रहे हैलो और वर्ल्ड स्ट्रिंग्स पर @s गायब नहीं है, अन्यथा यह ठीक काम करना चाहिए। NSString में एक संदेश stringByAppendingString भी है। – zoul

+0

यह वही है जो मैं करता हूं, लेकिन जैसा कि ज़ोल ने कहा था, @ (यानी @ "हैलो") –

+0

हाँ, एनएसएसटींग * स्ट्रिंग = [एनएसएसटींग स्ट्रिंगविथफॉर्मैट: @ "% @% @", @ "हैलो", @ के साथ तारों को उपसर्ग करें। "विश्व"]; भी सही है। –

28

कैसे के बारे में:

NSString *hello = @"Hello"; 
NSString *world = @"World"; 
NSString *helloWorld = [hello stringByAppendingString:world]; 
10

आप दो शाब्दिक तार है, तो आप बस कोड कर सकते हैं:

NSString * myString = @"Hello" @"World"; 

यह आपके कोड के भीतर लंबे समय से शाब्दिक तार को तोड़ने के लिए एक उपयोगी तकनीक है।

हालांकि, यह स्ट्रिंग वेरिएबल्स के साथ काम नहीं करेगा, जहां आप stringWithFormat: या stringByAppendingString का उपयोग करना चाहते हैं: जैसा कि अन्य प्रतिक्रियाओं में उल्लिखित है।

5

वहाँ हमेशा NSMutableString है ..

NSMutableString *myString = [NSMutableString stringWithString:@"Hello"]; 
[myString appendString: @"World"]; 

नोट:

NSMutableString *myString = @"Hello"; // won't work, literal strings aren't mutable 
+1

आप परिवर्तनीय को सीधे एक शाब्दिक स्ट्रिंग निर्दिष्ट करके एक परिवर्तनीय स्ट्रिंग नहीं बना सकते हैं। आपको 'एनएसएमयूटेबलस्ट्रिंग * myString = [NSMutableString stringWithString: @ "हैलो"];' mutable स्ट्रिंग बनाने के लिए करना होगा। –

1

विधेयक, मैं yout पसंद सरल उपाय और मैं ध्यान दें कि आप भी दो NSStrings के बीच की जगह को समाप्त कर सकते करना चाहते हैं :

NSString * myString = @"Hello"@"World"; 
3
t3.text=[t1.text stringByAppendingString:t2.text]; 
संबंधित मुद्दे