在为其他人编写框架时,给类加上前缀非常有用,这样您就可以使用多个具有相似名称类的框架,而不会发生冲突。
但是在应用程序二进制本身中,主要应用程序类并不真正需要前缀,除非它们可能与某些库中的某些非前缀类发生冲突,无论是第三方还是内置。
显然可以审查第三方库,但是很难查看整个 Cocoa.framework 和 QuartzCore.framework 以及 Foundation.framework 和 CoreAnimation.framework 等以找出是否有任何非前缀类。
有没有人知道或知道检查任何内置库中是否有任何非前缀类的方法?有了明确的答案,公众会更愿意在应用程序二进制文件的主要(单独)代码库中命名他们的类而没有前缀。
谢谢。
最佳答案
With a definitive answer the general public would feel much more comfortable naming their classes without prefixes in the application binary's main (solitary) codebase.
如果您的类名在运行时发生冲突,编译器会告诉您。这由您包含的 header 和链接器路径定义。
无需扫描代码库中的非前缀类,因为您将无法编译。
如果您有重复的类名,您将收到错误“为 bla bla bla 找到重复接口(interface)”。
关于objective-c - iOS 和 OS X 开发的内置框架中是否有任何非前缀类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11813323/