Objective-C中类名中的有效字符

Mar*_*ino 12 objective-c

Objective-C类的有效字符集是什么?

当然,字母,数字和下划线的基本命名约定都有效,但我正在寻找一个特殊的字符来避免命名冲突.

$符号似乎有效,但我找不到任何文档.在语言参考中没有提到它.

任何其他?我可以参考的任何"官方"文件?

das*_*ght 4

从历史上看,Objective-C 编译器一直基于 GNU C 编译器,它允许标识符中的美元符号作为扩展。据我所知,这是使用不以数字开头的字母、数字和下划线序列命名标识符规则的唯一例外。

由于苹果为其编译器改用了不同的工具链,因此保留美元符号似乎是为了向后兼容。我会避免在我的新代码中使用它,特别是因为苹果并没有将其作为一项功能进行宣传。