在同一个类的另一个接口中访问方法

时间:2013-12-11 00:18:30

标签: ios objective-c objective-c-category

我坚持这个问题,请帮助我。 我有一个带有类名的ViewController:FLViewController。在.m文件中,我声明了一些其他接口:

@interface FLViewController (InternalMethods)
- (void)updateButtonStates;
@end

@interface FLViewController (AVCaptureManagerDelegate) <AVCaptureManagerDelegate>
-(void)adMobProcess
@end

在FLViewController的实现中,我调用了接口adMobProcess的方法FLViewController (AVCaptureManagerDelegate),但是编译器说“FLViewController没有可见的@interface声明了选择器adMobProcess

我可以将上面的方法移动到FLViewCOntroller的实现中(目前它放在AVCaptureManagerDelegate类中)但是,我想知道如何在另一个类别中调用该方法。

2 个答案:

答案 0 :(得分:1)

通过在.m文件中声明您的类别(将其范围限制为该文件),您已经有效地为FLViewController声明了一些私有方法。如果这是你想要的,你不需要类别。

Objective-C中的类别意味着可以重复使用。因此,您希望在头文件(或文件)中声明类别,并将这些标头包含在您使用它们的任何.m文件中。

答案 1 :(得分:0)

最后我找到了原因。我没有在Category中声明方法签名,只是在Category实现块中声明方法实现。我声明了方法并且它可以工作。