我不记得在界面构建器中指定类名时我需要提供程序/模块名称,除非在这种情况下,书(Big Nerd 5th ed.p162)说我不会需要为Obj-C做,但我必须为Swift,为什么?
上下文:我正在指定NSArrayController将要处理的类。
答案 0 :(得分:2)
Swift会自动为您创建即兴命名空间,例如通过为您的Employee
类添加模块名称前缀。 (您不必在代码中关注这一点,因为您通常在该模块中引用Employee
,编译器可以理解您对Employee
的简写用法。)它可以很方便如果您的模块定义了与另一个模块相同的符号,则要明确这一点,例如MyProject.Array
与Swift.Array
。
为什么语言之间存在差异?因为Objective-C根本不执行此命名空间,这就是为什么每个人都在其Objective-C类前面加上两个和三个字母的代码,以避免命名冲突。