什么@“一些字符串”在objective-c中意味着什么?

时间:2009-06-06 23:53:55

标签: iphone objective-c

我刚开始使用iphone开发并遇到了一些使用@“somestring”的示例代码

someLabel.txt = @"string of text";

为什么字符串需要'@'?我猜它是创建对象的某种捷径?

3 个答案:

答案 0 :(得分:15)

它创建一个带有该字符串的NSString对象,而不是在没有'@'的情况下创建的标准c char *

答案 1 :(得分:11)

在Objective-C中,语法@“foo”是NSString的一个不可变的文字实例。

答案 2 :(得分:-3)

只是一个有趣的旁注......使用@“...”表示法创建的NSString文字不是autoreleased。他们基本上只是闲逛,直到你的程序终止。

请注意,如果您希望控制此对象是否在未来发布(释放),您可能需要考虑使用以下内容:

[NSString stringWithString:@"..."]; 

...来代替。这将创建一个相同字符串的自动释放版本,下次“自动释放池耗尽”时将从内存中释放。

只是值得深思。

干杯 -