单个文件中有多个@implementation块

时间:2013-02-07 13:52:17

标签: ios objective-c

我一直在查看Apple的一些示例代码,特别是使用AVCam框架的AVFoundation项目。

它是主视图控制器文件,开发人员有多个@implementation部分:

@implementation AVCamViewController
@implementation AVCamViewController (InternalMethods)
@implementation AVCamViewController (AVCamCaptureManagerDelegate)

他们每个人也有相应的@interface部分。

所有这些都在单个AVCamViewController.m文件中。我以前从未见过这样做,并且想知道它背后的基本原理。

这只是个人风格吗?

它是否提供任何固有的优势?

1 个答案:

答案 0 :(得分:4)

他们被称为类别。这是一个很好的解释:https://stackoverflow.com/a/864877/865967

我确信其他人可以提供更具体的原因,但我认为当人们在相同的.h / .m文件中使用此模式时,它只是为了可读性和分离。