iOS:如何定义一些在任何地方使用的默认对象?

son*_*nce 3 ios

我的应用中有很多地方需要设置UIColor.我想在某个地方定义颜色,我可以重复使用它,而无需再次编写相同的行,很难跟踪和维护.

UIColor *myColor = [UIColor colorWithRed:0.1 green:0.3 blue:0.7 alpha:1];
Run Code Online (Sandbox Code Playgroud)

我试着让它变得像

#define myColor = [UIColor colorWithRed:0.1 green:0.3 blue:0.7 alpha:1];
Run Code Online (Sandbox Code Playgroud)

并重用myColor但它不起作用.:/

谢谢!

Jas*_*ien 10

对于您的定义,您可以写:

#define myColor [UIColor colorWithRed:0.1 green:0.3 blue:0.7 alpha:1]
Run Code Online (Sandbox Code Playgroud)

在你使用的地方myColor,它将被彻底取代[UIColor colorWithRed:0.1 green:0.3 blue:0.7 alpha:1].

或者,您可以编写一个类别UIColor,提供一种返回颜色的方法.

例:

@interface UIColor (MyColors)

+ (UIColor *)myAwesomeColor;

@end

@implementation UIColor (MyColors)

+ (UIColor *)myAwesomeColor
{
    return [UIColor colorWithRed:0.1 green:0.3 blue:0.7 alpha:1];
}

@end
Run Code Online (Sandbox Code Playgroud)

然后就像[UIColor myAwesomeColor]你需要的那样使用它,就像你一样[UIColor blackColor].