在两个不同的位置声明objective-c接口

在两个不同的位置声明objective-c接口,objective-c,ipad,Objective C,Ipad,当您为iPad启动基于SplitViewController的项目时,它会创建一个DetailViewController。在DetailViewController.h中,它将接口声明为正常: @interface DetailViewController : UIViewController <UIPopoverControllerDelegate, UISplitViewControllerDelegate> { UIPopoverController *po

当您为iPad启动基于SplitViewController的项目时,它会创建一个DetailViewController。在DetailViewController.h中,它将接口声明为正常:

@interface DetailViewController : UIViewController <UIPopoverControllerDelegate, UISplitViewControllerDelegate> {

        UIPopoverController *popoverController;
        UIToolbar *toolbar;

        id detailItem;
        UILabel *detailDescriptionLabel;
}

他们为什么这样做?在两个不同的位置/文件中声明接口有什么意义

他们创建了一个私有类别。.m中定义的方法只应在.m中使用,而不是DetailViewController的播发接口的一部分。控制器的外部用户只能调用.h中定义的方法,内部用户也可以使用私有类别中的方法。这也是常见的

@interface DetailViewController (Private)

他们创建了一个私有类别。.m中定义的方法只应在.m中使用,而不是DetailViewController的播发接口的一部分。控制器的外部用户只能调用.h中定义的方法,内部用户也可以使用私有类别中的方法。这也是常见的

@interface DetailViewController (Private)

第一个是公共接口,而第二个是类延续,包含私有方法。

第一个是公共接口,而第二个是类延续,包含私有方法。

这是用额外的方法扩展标准接口,您可以为特定实现实现这些方法,以便编译器知道它们


有关详细信息,请参阅上的Apple文档。

这是为了使用额外的方法扩展标准接口,您可以为特定的实现实现这些方法,以便编译器了解这些方法

有关详细信息,请参阅上的苹果文档