Xcode 为什么NSArrayController要求Swift的类名(在IB中)中包含模块名?

Xcode 为什么NSArrayController要求Swift的类名(在IB中)中包含模块名?,xcode,swift,Xcode,Swift,在interface builder中指定类名时,我记不起有一次我需要给出程序/模块名,除了在本例中,还有一本书(Big Nerd 5th ed.p162)说我不需要为Obj-C这样做,但我必须为Swift这样做,为什么 上下文:我正在指定NSArrayController将处理的类 Swift会自动为您创建临时名称空间,方法是(例如)在Employee类前面加上模块名。(您不必在代码中关心这一点,因为您通常在该模块中引用Employee,编译器可以理解您对Employee的速记用法)如果您的模

在interface builder中指定类名时,我记不起有一次我需要给出程序/模块名,除了在本例中,还有一本书(Big Nerd 5th ed.p162)说我不需要为Obj-C这样做,但我必须为Swift这样做,为什么

上下文:我正在指定NSArrayController将处理的类


Swift会自动为您创建临时名称空间,方法是(例如)在
Employee
类前面加上模块名。(您不必在代码中关心这一点,因为您通常在该模块中引用
Employee
,编译器可以理解您对
Employee
的速记用法)如果您的模块定义了与另一个相同的符号,那么明确说明这一点会很方便,例如
MyProject.Array
Swift.Array


为什么语言之间存在差异?因为Objective-C根本不使用这种名称空间,这就是为什么每个人都在Objective-C类的前面加上两个和三个字母的代码,以避免命名冲突。

您实际上已经回答了我的一个问题!我有一个名称中有空格的项目(例如“我的项目”),我无法回避如何将其添加到名称中。我只需要下划线:My_Project.MyClass