I'm just starting out with iphone development and ran across some example code that used @"somestring"
someLabel.txt = @"string of text";
Why does the string need the '@'? I'm guessing it's some kind of shortcut for creating an object?
I'm just starting out with iphone development and ran across some example code that used @"somestring"
someLabel.txt = @"string of text";
Why does the string need the '@'? I'm guessing it's some kind of shortcut for creating an object?
It creates an NSString object with that string as opposed to the standard c char* that would be created without the '@'
In Objective-C, the syntax @"foo" is an immutable, literal instance of NSString.
Just an interesting side note... NSString literals created by using the @"..." notation are not autoreleased
. They essentially just hang around until your program terminates.
Just a caution that if you want to maintain control over whether or not this object gets released (freed) down the road you may want to consider using something like:
[NSString stringWithString:@"..."];
...instead. This would create an autoreleased version of the same string that will be freed from memory next time the "autorelease pool is drained".
Just food for thought.
Cheers-