2010-10-01 61 views
0

我给UIView添加了一个类来保存一些过渡帮助方法。这些方法都有效;不过,我得到的编译器警告:为什么我的UIView类别导致警告?

警告: 'UIButton的' 可不回应 '-fadeOutWithDuration:'

我 “的UIView + Trans.h” 文件是这样的:

@interface UIImage (trans) 
- (void) fadeOutWithDuration:(CGFloat)duration; 
@end 

我 “的UIView + Trans.m” 文件是这样的:

#import <QuartzCore/QuartzCore.h> 
#import "UIView+Trans.h" 

@implementation UIView (trans) 
- (void) fadeOutWithDuration:(CGFloat) duration { 
    //... 
} 
@end 

我打电话就像个方法是:(并且在每个使用类别方法的文件的顶部有#import“UIView + Trans.h”)。我也尝试将UIButton *转换为UIView *。

[self.myButton fadeOutWithDuration:kFadeOutDuration]; 

我已经成功地在同一个项目,没有恼人的警告,利用从这次Categories Example文章“的NSString +逆向”的例子。

+0

看来我是正确的,你可能需要删除导入,并尝试再次复制,检查文件名称的东西:) – vodkhang 2010-10-01 17:42:28

回答

2

在您的头文件中,您已声明UIImage的类别不是UIView

+0

哇!我无法相信我有多少次超过这些线,错过了!也有趣的是,它正在工作......非常感谢! – Dave 2010-10-01 17:45:40

+0

酷眼!我没有看到它 – vodkhang 2010-10-01 17:48:37

+0

它的工作原因是因为您已经正确定义了实现,因此该类别在运行时存在,并且方法被正确激活。在这种情况下,您的类别标题的唯一原因是为了防止编译器警告;-) – ikuramedia 2012-01-12 16:30:04

相关问题