将类别应用于框架类

时间:2015-02-10 13:36:15

标签: ios parse-platform uiimageview sdwebimage objective-c-category

我想要实现的是启用PFImageView类(来自Parse框架)响应SDWebImage方法。 SDWebImage本身就是一个框架,但由于它基本上将一个类别应用于UIImageView - 而PFImageView继承自UIImageView - 似乎应该可以实现此目标。

我尝试创建一个单独的类别PFImageView+SDWebImage,其中在.h文件中我只是添加了

#import <SDWebImage/UIImageView+WebCache.h>

但这显然是不够的,因为我仍然收到错误,说[PFImageView setImageWithURL:placeholderImage:completed:]: unrecognized selector sent to instance

如何实现我在这里正确尝试的目标?

1 个答案:

答案 0 :(得分:2)

适当应用于UIImageView的类别将自动提供给子类。你不需要做任何特别的事情。你的标题根本不重要。标题不适用类别;他们只是告诉编译器它们存在,所以你不会收到警告。在加载相关实现时应用类别(特别是在调用+load方法时它们会发生,但在iOS世界中,您可以将其视为&#34;当程序启动时。&#34;)< / p>

所有这些都暗示您根本没有加载类别代码。这是一个非常普遍的问题。确保您正在编译实现此类别的相关.m文件,并确保如果您从静态库中链接此文件,则表明您正在使用{{1标志。有关详细信息,请参阅QA1490。简短的版本是,如果您将类别代码放在静态库中,链接器可能会将其视为未使用并将其剥离。 -ObjC标志告诉编译器这是 crazy 令人敬畏的动态ObjC世界,有时看起来不像他们实际使用过的东西。