NSMutableString *str, *str1;
//allocation here
i am using
[str appendString:str1]
is not working.
[str appendFormat:str1]
is not working.
So, how to append a NSMutableString
with another NSMutableString
.
@str
is an empty string
initialize to nil
. str1
has some value. [str appendString str1]
returns null
Although in Swift it is not the general practice to use NSMutableString, it may at times be necessary. This is how you would do it:
var str: NSMutableString = NSMutableString()
var str1: NSMutableString = "some value"
str.appendString(str1 as String) // str = "some value"
Note that the usual way to append a string in Swift is like this:
var str = ""
let str1 = "some value"
str += str1
where str
and str1
are inferred to be of type String
.
Seems like your're sending a message to nil
. nil
is NOT an object, it's just nothing. Sending a message to nothing just return nothing. In order to append these strings, you need to initialize to an empty string. Like so:
NSMutableString *str = [NSMutableString string];
Then your code will work. Like so:
[str appendString:str1];
if str == nil
, no call are performed because there is no object allocated to receive the message but no exception are raised (messages sent to nil return nil by design in Objective-C).
NSMutableString *str, *str1;
str = [NSMutableString stringWithString:@"Hello "];
str1 = [NSMutableString stringWithString:@"World"];
NSMutableString *sayit = [str appendString:str1];
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With