Reputation: 5337
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?
Upvotes: 9
Views: 629
Reputation: 315
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-
Upvotes: -3
Reputation: 180788
In Objective-C, the syntax @"foo" is an immutable, literal instance of NSString.
Upvotes: 11
Reputation: 70733
It creates an NSString object with that string as opposed to the standard c char* that would be created without the '@'
Upvotes: 15