Reputation: 3628
I'm a java guy coming over to Objective-C. In java, to add a variable to a string you'd have to do something along the lines of:
someString = "This string is equal to " + someNumber + ".";
I can't figure out how to do it in Objective-C though. I have an NSMutableString
that I'd like to add to the middle of a string. How do I go about doing this?
I've tried:
NSString *someText = @"Lorem ipsum " + someMutableString;
NSString *someText = @"Lorem ipsum " + [someMutableString stringForm];
and a few other things, none of which seem to work. Also interchanged the +
s with ,
s.
Upvotes: 12
Views: 48680
Reputation: 1
NSMutableString *string = [[NSMutableString alloc] init];
[string appendFormat:@"more text %@", object ];
Upvotes: 0
Reputation: 5940
Try this:
NSMutableString * string1 = [[NSMutableString alloc] initWithString:@"this is my string"];
[string1 appendString:@" with more strings attached"];
//release when done
[string1 release];
Upvotes: 8
Reputation: 11415
You need to use stringByAppendingString
NSString* string = [[NSString alloc] initWithString:@"some string"];
string = [string stringByAppendingString:@" Sweet!"];
Don't forget to [string release];
when your done of course.
Upvotes: 6
Reputation: 28806
You can use appendString:
, but in general, I prefer:
NSString *someText = [NSString stringWithFormat: @"Lorem ipsum %@", someMutableString];
NSString *someString = [NSString stringWithFormat: @"This is string is equal to %d.", someInt];
NSString *someOtherString = [NSString stringWithFormat: @"This is string is equal to %@.", someNSNumber];
or, alternatively:
NSString *someOtherString = [NSString stringWithFormat: @"This is string is equal to %d.", [someNSNumber intValue]];
etc...
These strings are autoreleased, so take care not to lose their value. If necessary, retain or copy them and release them yourself later.
Upvotes: 30