ios - 为什么创建非 Controller 文件时默认没有@interface?

标签 ios xcode macos

我注意到的一点是:当您在 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/

相关文章:

javascript - 函数调用时如何显示javascript参数提示

macos - Lazyfoo SDL2/GLSL 代码仅在 OS X 上显示黑屏

c - 找不到 Eclipse mac osx : Launch failed, 二进制文件

iphone - UITabBar全透明

xcode Organizer "Validate"失败并显示 "No other information is available about the problem."消息

html - 单击按钮时 UIWebView 打开相机和图像

ios - 如果下载4.4,xcode 4.3中的项目会受到影响吗?

objective-c - 如何从 Xcode 项目生成 Makefile?

ios - 如何使用本地设备 Facebook 登录 Meteor?

ios - 检测 SKSpriteNodes 上的触摸事件