【问题标题】:iOS: How to define some default objects to be used anywhere?iOS:如何定义一些可以在任何地方使用的默认对象?
【发布时间】:2011-12-01 10:04:02
【问题描述】:

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

UIColor *myColor = [UIColor colorWithRed:0.1 green:0.3 blue:0.7 alpha:1];

我试着让它像

#define myColor = [UIColor colorWithRed:0.1 green:0.3 blue:0.7 alpha:1];

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

谢谢!

【问题讨论】:

标签: ios


【解决方案1】:

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

#define myColor [UIColor colorWithRed:0.1 green:0.3 blue:0.7 alpha:1]

在您使用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

然后,您可以在任何需要的地方使用 [UIColor myAwesomeColor],就像使用 [UIColor blackColor] 一样。

【讨论】:

    【解决方案2】:

    Jasarien 先生给出的答案是正确的,您也可以按照上面的代码和示例进行操作

    在宏指令中声明任何东西时,我们不分配任何值,因此我们不能在指令中使用相等运算符 "="sign 你可以使用这样的代码 #define mycolor [UIColor colorWithRed:0.1 green:0.3 blue:0.7 alpha:1];

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-03-31
      • 2018-01-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-13
      • 2013-09-21
      • 2011-06-07
      相关资源
      最近更新 更多