简体   繁体   中英

How to append a NSMutableString with a NSMutableString?

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

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];

Swift version

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 .

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

works for me...

are you sure the variables have been allocated (correctly?)? No misspellings?

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM