我刚开始使用iphone开发并遇到了一些使用@“somestring”的示例代码
someLabel.txt = @"string of text";
为什么字符串需要'@'?我猜它是创建对象的某种捷径?
答案 0 :(得分:15)
它创建一个带有该字符串的NSString对象,而不是在没有'@'的情况下创建的标准c char *
答案 1 :(得分:11)
在Objective-C中,语法@“foo”是NSString的一个不可变的文字实例。
答案 2 :(得分:-3)
只是一个有趣的旁注......使用@“...”表示法创建的NSString文字不是autoreleased
。他们基本上只是闲逛,直到你的程序终止。
请注意,如果您希望控制此对象是否在未来发布(释放),您可能需要考虑使用以下内容:
[NSString stringWithString:@"..."];
...来代替。这将创建一个相同字符串的自动释放版本,下次“自动释放池耗尽”时将从内存中释放。
只是值得深思。
干杯 -