如果Apple不希望开发人员在iPhone SDK中使用私有API,为什么他们不会使用与C#的“内部”关键字相当的Objective-C来标记类和/或方法?如果API分布在多个二进制文件中,Apple可以将它们重构为专用的私有API二进制文件,以使它们更容易。
答案 0 :(得分:5)
Objective-C没有C#的“内部”或Java的“最终”关键字的等价物。我认为这与语言的动态性有关,无论如何,任何这样的功能都很容易解决。
关于iPhone SDK,所有库都需要静态编译到应用程序中,不允许动态链接。因此,即使可能,将功能设置为“内部”也不会对可见性产生任何影响。
答案 1 :(得分:0)
简短回答,他们没有将它们标记为私人,因为他们根本没有描述它们。
您不应发送的消息不会出现在SDK中相应的.h文件中。
私人API通常由人们使用类似转储等工具在二进制框架中找到,而不是通过读取头文件。