Objective-C的命名空间约定

4th*_*ace 2 namespaces class objective-c

我想分组类,所以必须像这样引用它们:

Root.Web
Root.Mail
Root.Audio
Run Code Online (Sandbox Code Playgroud)

上述每个类对应一个文件:

Web.h
Mail.h
Audio.h
Run Code Online (Sandbox Code Playgroud)

目标是使用上面的"Root"语法而不仅仅是:

Audio myAudio = [[Audio alloc] init];
Run Code Online (Sandbox Code Playgroud)

相反,它应该看起来像:

Root.Audio myAudio = [[Root.Audio alloc] init];
Run Code Online (Sandbox Code Playgroud)

Objective-C能够做到这一点吗?

Vla*_*mir 7

Objective-c不支持命名空间(因为c没有),所以你不能这样做.为了避免潜在的冲突,你可以将你的特定前缀添加到类名

这里,这里是类似的问题,你可能会觉得它们很有用.

顺便说一下,我认为如果支持命名空间,它们会以类似cpp的方式解决(比如MyNamespace :: MyClass,而不是MyNamespace.MyClass)