我注意到的一点是:当您在 XCode 中创建不是 Controller 子类的新文件时,没有 @interface
默认情况下位于 .m 文件中。我假设这是故意的 - 我很好奇为什么会这样
我在想,这可能是因为他们假设您希望父 Controller 等可以公开访问您的大部分属性?
我尝试对此进行研究但无济于事 - 请帮助我! :D
最佳答案
我认为我通常会谨慎尝试从 Apple 的模板文件中得出任何结论 - 他们的许多示例项目和项目模板并没有真正遵循最佳实践。例如,如果您使用 Core Data 创建一个项目,则模板在应用程序委托(delegate)中包含所有 Core Data 代码 - 它实际上不属于某个地方。
关于在 .m 文件中包含 @interface
类扩展的主题 - 我通常在大多数类中都有这些扩展,并将所有属性/方法保持私有(private),除非它们确实需要对其他人可见类。
关于ios - 为什么创建非 Controller 文件时默认没有@interface?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21319643/