我创建了一个包含“customColor”代码的类,我希望将其实现到我的代码中,这样我就可以输入buttonOne.backgroundColor = [UIColor customColor]
。
在.h文件中,我有
+ (UIColor*) customColor;
在.m文件中,我有
+ (UIColor*) customColor {
return [UIColor colorWithRed:0.643 green:0.643 blue:0.643 alpha:1];
}
但是当我转到“ViewController.m”并输入
时buttonOne.backgroundColor = [UIColor customColor]
我收到错误说
选择器
没有已知的类方法customColor
我已导入.h文件。我错过了一步吗?
答案 0 :(得分:4)
基本上你是在尝试创建一个类别而没有正确地向编译器声明这是UIColor
的类别。以下是如何创建类别的示例:
将新的catagory文件创建为新文件> Cocoa Touch
> Objective-C category
。
我将我的例子命名为UIColor+CustomColorCatagory
。
在UIColor+CustomColorCatagory.h
中,将其更改为:
#import <UIKit/UIKit.h>
@interface UIColor (CustomColorCatagory) //This line is one of the most important ones - it tells the complier your extending the normal set of methods on UIColor
+ (UIColor *)customColor;
@end
在UIColor+CustomColorCatagory.m
中,将其更改为:
#import "UIColor+CustomColorCatagory.h"
@implementation UIColor (CustomColorCatagory)
+ (UIColor *)customColor {
return [UIColor colorWithRed:0.643 green:0.643 blue:0.643 alpha:1];
}
@end
然后在您要使用此方法的地方添加#import "UIColor+CustomColorCatagory.h"
简单地说:self.view.backgroundColor = [UIColor customColor];