如何使类别类中的方法可用于其他类?

时间:2012-10-08 19:17:51

标签: objective-c ios

我想使用我从iosframeworks.com获得的名为UIImage+ProportionalFill的课程。我知道这是一个扩展UIImage的类别,但当我尝试在另一个类中使用其中一个方法时,我会收到一条消息no visible @interface for UIImage declares the selector 'nameOfWhateverMethodIWantToUse'。我不会对得到错误感到惊讶,因为除了将其放入XCode之外必须有更多使用它,但是如何使新类别/类中的方法可用于其他类?

4 个答案:

答案 0 :(得分:4)

您只需要在您喜欢的课程中导入您的类别......

#import "UIImage+ProportionalFill.h"

我通常在头文件中执行此操作。

答案 1 :(得分:2)

编译器需要能够看到方法的声明,该声明应该在类别的头文件中。您必须在任何想要使用方法的位置导入头文件。

答案 2 :(得分:2)

您需要#import包含使用所述方法的每个文件中的方法声明的标头。

注意这些方法应该是前缀;即-JDnameOfWhateverMethodIWantToUse

另请注意,毫不客气地向框架类添加类别很容易导致构建相当糟糕的应用程序变得难以重构/维护。

答案 3 :(得分:2)

根据你的说法,我想你只是忘了导入它。

#import "UIImage+ProportionalFill.h"

将其写在要使用该方法的类的.h文件的顶部。