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