1

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

4

4 回答 4

4

您只需要在您喜欢使用它的类中导入您的类别...

#import "UIImage+ProportionalFill.h"

我通常在头文件中这样做。

于 2012-10-08T19:21:31.353 回答
2

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

于 2012-10-08T19:21:36.320 回答
2

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

请注意,方法应该加前缀;即-JDnameOfWhateverMethodIWantToUse

还要注意,随意向框架类添加类别很容易导致架构非常糟糕的应用程序变得难以重构/维护。

于 2012-10-08T19:22:17.617 回答
2

根据您所说的,我认为您只是忘记导入它。

#import "UIImage+ProportionalFill.h"

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

于 2012-10-08T19:23:49.190 回答