【问题标题】:Purpose of @ Symbol Before Strings?字符串前@符号的用途?
【发布时间】:2010-12-15 02:53:37
【问题描述】:

我使用Objective-C 已经有一段时间了,但从来没有真正理解在所有字符串之前@ 符号的用途。例如,为什么必须声明这样的字符串:

NSString *string = @"This is a string";

不是这样的:

NSString *anotherString = "This is another string";

就像您在 Java 或许多其他编程语言中所做的那样。有什么好的理由吗?

【问题讨论】:

标签: iphone objective-c


【解决方案1】:

它表示一个 NSString(而不是标准的 C 字符串)

NSString 是一个对象,它存储一个 unicode 字符串并提供一堆方法来辅助操作。

C 字符串只是以 \0 结尾的一串字符(字节)。

编辑:很好的理由是 Objective-C 建立在 C 之上,C 语言结构需要仍然可用。 @"" 是一个仅限 Objective-c 的扩展。

【讨论】:

  • 当您在 ObjC 中的某物前面看到 @ 时,这是一个好兆头,表明它是 ObjC 对 C 的扩展的一部分。@interface、@implementation、@protocol、@selector、@class、等等。@ 是一种非正式的 Objective-C 命名空间。这类似于 Cocoa 中的所有内容都以“NS”为前缀,这样它就不会与正在发生的其他内容发生冲突。
猜你喜欢
  • 2013-06-20
  • 1970-01-01
  • 1970-01-01
  • 2014-09-19
  • 1970-01-01
  • 2013-10-19
  • 1970-01-01
  • 2011-04-03
  • 2015-01-13
相关资源
最近更新 更多