views:

58

answers:

3

Totally lost with this one. Here's my code:

theColor = [NSString stringWithFormat:@"white"];
NSLog(@"%s", theColor);

Which is returing:

†t†å

I must be doing something stupid, but can not figure it out for the life of me.

+7  A: 

Change your print to:

NSLog(@"%@", theColor);

Hope it helps.

The thing is that %s expects a C-string (char array with a NULL terminator) and you are passing a NSString instance which is not the same as a C-string. The modifier you need in a format to print NSString content is %@.

Pablo Santa Cruz
+4  A: 

%s is for printing C-style strings.

%@ is for printing Objective-C objects (like NSString).

Jon Reid
A: 

BTW: “theColor = [NSString stringWithFormat:@"white"];” – why not “theColor = @"white";”?

Greetings

Objective Interested Person