我坚持这个问题,请帮助我。
我有一个带有类名的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类中)但是,我想知道如何在另一个类别中调用该方法。
答案 0 :(得分:1)
通过在.m文件中声明您的类别(将其范围限制为该文件),您已经有效地为FLViewController
声明了一些私有方法。如果这是你想要的,你不需要类别。
Objective-C中的类别意味着可以重复使用。因此,您希望在头文件(或文件)中声明类别,并将这些标头包含在您使用它们的任何.m文件中。
答案 1 :(得分:0)
最后我找到了原因。我没有在Category中声明方法签名,只是在Category实现块中声明方法实现。我声明了方法并且它可以工作。