2010-08-30 15 views
8
NSMutableString *str, *str1; 

// यहाँ आवंटनएनएसएमयूटेबल स्टिंग के साथ एनएसएमयूटेबलस्ट्रिंग को कैसे जोड़ा जाए?

मैं [str appendString:str1] उपयोग कर रहा हूँ काम नहीं कर रहा। [str appendFormat:str1] काम नहीं कर रहा है।

तो, NSMutableString के साथ NSMutableString को कैसे जोड़ना है।

@strempty stringnil से प्रारंभ होता है। str1 कुछ मूल्य है। [str appendString str1] रिटर्न null

+2

हमें आपकी सहायता करने के लिए, हमें यह जानने की आवश्यकता होगी कि आपके मामले में "काम नहीं कर रहा" का अर्थ क्या है, क्योंकि हमारी क्रिस्टल बॉल वर्तमान में काम नहीं कर रही है :) एप्पल दस्तावेज के अनुसार, दोनों विधियों को वह करना चाहिए जो आप कर रहे हैं करें (http://developer.apple.com/mac/library/documentation/Cocoa/Reference/Foundation/Classes/NSMutableString_Class/Reference/Reference.html#//apple_ref/occ/instm/NSMutableString/appendString:) – fresskoma

+0

क्या करता है "काम नहीं करता" मतलब है? अपवाद? – tobiasbayer

+0

काम नहीं करता है मतलब जोड़ने में सक्षम नहीं है। – user426795

उत्तर

0
NSMutableString *mystring = [NSMutableString stringWithFormat:@"pretty"]; 
    NSMutableString *appending = [NSMutableString stringWithFormat:@"face"]; 
    [mystring appendString:appending]; 

मेरे लिए काम करता है ...

क्या आप वाकई चर आवंटित किया गया है कर रहे हैं (सही ढंग से?)? कोई गलत वर्तनी नहीं है?

21

ऐसा लगता है कि आप nil पर एक संदेश भेज रहे हैं। nil कोई ऑब्जेक्ट नहीं है, यह केवल कुछ भी नहीं है। पर कोई संदेश भेजना बस कुछ भी पर वापस लौटें। इन तारों को जोड़ने के लिए, आपको खाली स्ट्रिंग में प्रारंभ करने की आवश्यकता है। इस तरह:

NSMutableString *str = [NSMutableString string]; 

फिर आपका कोड काम करेगा। इसलिए जैसा:

[str appendString:str1]; 
3

अगर str == nil, कोई कॉल प्रदर्शन कर रहे हैं कोई वस्तु संदेश प्राप्त करने के लिए आवंटित है, क्योंकि लेकिन कोई अपवाद नहीं उठाया जाता है (संदेशों शून्य ऑब्जेक्टिव-सी में डिजाइन द्वारा वापस जाने के लिए नहीं के बराबर भेजी जाती है)।

NSMutableString *str, *str1; 

str = [NSMutableString stringWithString:@"Hello "]; 
str1 = [NSMutableString stringWithString:@"World"]; 

NSMutableString *sayit = [str appendString:str1]; 
+0

देता है फिर मेरा मेरा NSMutableString को शून्य पर कैसे सेट करें। क्योंकि मेरे कार्यक्रम का कुछ बिंदु मैं str1 को खाली करना चाहता हूं। – user426795

+0

शायद यह ठीक से समझाने का समय है कि आप वास्तव में क्या करना चाहते हैं ... बीटीडब्ल्यू, खाली और शून्य अलग-अलग चीजें हैं – VdesmedT

+0

[एनएसएमयूटेबल स्ट्रिंग स्ट्रिंग] एक खाली म्यूटेबल स्ट्रिंग बनाता है Ie. "" – VdesmedT

0

स्विफ्ट संस्करण

हालांकि स्विफ्ट में यह सामान्य व्यवहार NSMutableString, it may at times be necessary उपयोग करने के लिए नहीं है।

var str: NSMutableString = NSMutableString() 
var str1: NSMutableString = "some value" 
str.appendString(str1 as String) // str = "some value" 

ध्यान दें कि स्विफ्ट में एक स्ट्रिंग संलग्न करने के लिए हमेशा की तरह इस तरह है::

var str = "" 
let str1 = "some value" 
str += str1 

जहां str और str1 आधारित हैं प्रकार String का होना यह तुम कैसे करते हैं।

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