我一直在看 Apple 的 MVCNetworking example project AppDelegate
的部分接口(interface)定义让我感到困惑。在 .h 文件中我们有这个:
@interface AppDelegate : NSObject
{
...
但是在 .m 文件中我们有这个:
@interface AppDelegate () <SetupViewControllerDelegate>
...
所以这个类私下遵守协议(protocol)。但是为什么要这样做而不是在 header 中公开声明呢?
最佳答案
一般来说,你应该尽可能少地公开曝光。 AppDelegate 可以是 SetupViewController 的委托(delegate)这一事实可能在 AppDelegate 呈现 SetupViewController 时使用。没有其他类应该将 AppDelegate 设置为其他 SetupViewController 的委托(delegate),因此公开宣传该一致性是没有意义的。
关于objective-c - 为什么您希望类私下遵守协议(protocol)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8233524/