为什么在Apple的最新框架中仍然遵循类前缀

时间:2016-07-08 08:07:43

标签: swift cocoa-touch namespaces callkit

来自Visual C,C#,Java,ActionScript等高级语言,其中包是一开始就是常见和基本的东西,并且在名称冲突方面存在许多可扩展性问题,我一直认为objective-c不是语言最新的。

既然我们有可用的命名空间并且隐含在模块之间,为什么类仍然是前缀,例如我正在浏览这个WWDC 16视频Enhancing VoIP Apps with CallKit,并且类仍然以CX为前缀,这应该是事情现在的过去

Swift 3.0确实强调删除重复的元素,修改并缩短了许多函数名称,有没有办法摆脱这个NS前缀,或者他们会对它做些什么,或者仍然会像他们一样为它们的类库添加前缀使用CallKit。它仍然是一个重复。

enter image description here

1 个答案:

答案 0 :(得分:1)

  

既然我们有可用的命名空间并且隐含在模块之间,为什么类仍然是前缀

因为API是用Objective-C编写的,并且必须保持可用,而Objective-C没有命名空间。

NS现在(Swift 3)已经从基础课程中消失了,这当然是件事。这是通过在Foundation API前面放置一个“叠加层”来实现的。将来,这可以通过其他框架来完成。 (然而,关于未来的问题不适合Stack Overflow,你和其他人一样能够阅读swift-evolution site。)