Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

iOS Objective-C Basics (Retired) Foundation Framework NSString

Tino Ehrich
Tino Ehrich
1,786 Points

NSString concatenation: what's wrong with this example?

The given task says: Declare a third NSString variable named 'favorite' and assign a concatenated string to it by appending the variable named 'color' to the variable named 'preference'. (Remember to use the method 'stringByAppendingString').

My solution doesn't pass. Anybody got an idea?

NSString *color = @"Purple";
NSString *preference = @"My favorite color is ";
NSString *favorite = [[preference stringByAppendingString:color]];

2 Answers

Thomas Nilsen
Thomas Nilsen
14,957 Points

Appending means adding something to the end of something else. Your last line, you're adding preference to the end of color. You want it the other way around :)

Edit

I wasn't thinking (It's late here in Norway) - that was NOT your mistake.

Your mistake is you don't need a second pair of "[]"

Here is what it should look like:

NSString *color = @"Purple";
NSString *preference = @"My favorite color is ";
NSString *favorite = [preference stringByAppendingString:color];
Tino Ehrich
Tino Ehrich
1,786 Points

The last tip made it work. Thanks, Thomas!

Greetings to Norway from Berlin, Germany. Tino