为什么NSArrayController需要Swift的类名(在IB中)中的模块名?

时间:2015-07-20 21:25:49

标签: xcode swift

我不记得在界面构建器中指定类名时我需要提供程序/模块名称,除非在这种情况下,书(Big Nerd 5th ed.p162)说我不会需要为Obj-C做,但我必须为Swift,为什么?

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

NSArrayController Class Name

1 个答案:

答案 0 :(得分:2)

Swift会自动为您创建即兴命名空间,例如通过为您的Employee类添加模块名称前缀。 (您不必在代码中关注这一点,因为您通常在该模块中引用Employee,编译器可以理解您对Employee的简写用法。)它可以很方便如果您的模块定义了与另一个模块相同的符号,则要明确这一点,例如MyProject.ArraySwift.Array

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