在多个文件中重复使用相同的 UIColor
Re-use the same UIColor in multiple files
我需要在一堆文件中使用相同的颜色,所以我决定制作 "global variables" 来完成它。我创建了一个名为 ColrClass
的 NSObject
class 并实现了一些 class 方法,如下所示:
+(UIColor *) returnRedColor {
UIColor *redColr = [UIColor colorWithRed:0 green:0.433 blue:0.804 alpha:1];
return redColr;
}
所以我的问题是,还有其他方法可以做到这一点吗?我想使用最合理的解决方案,但不确定这些 class 方法是否是最好的。我错了吗,这是一个很好的解决方案?或者有什么更好的解决方案吗?
您可以在 UIColor
上创建一个类别来执行此操作。文件名类似于 UIColor+ColorClass
。该类别将如下所示:
UIColor+ColorClass.h
#import <UIKit/UIKit.h>
@interface UIColor (ColorClass)
+ (UIColor *)returnRedColor;
@end
UIColor+ColorClass.m
#import "UIColor+ColorClass.h"
@implementation UIColor (ColorClass)
+ (UIColor *)returnRedColor
{
return [UIColor colorWithRed:0 green:0.433 blue:0.804 alpha:1];
}
@end
然后在您的 ProjectName-prefix.pch
中,您可以 #import "UIColor+ColorClass.h
使此方法在整个项目中可用。方法调用将是 [UIColor returnRedColor];
在这种情况下,我更喜欢使用单例实例而不是 class 方法。我认为这样更好,因为您可以在必要时覆盖这些方法。
/* ... */
static ColrClass* sharedInstance = nil;
// Get the shared instance and create it if necessary.
+(ColrClass*) sharedInstance {
if ( sharedInstance == nil ) {
sharedInstance = [ColrClass new];
}
return sharedInstance;
}
/* ... */
-(UIColor *) returnRedColor {
UIColor *redColr = [UIColor colorWithRed:0 green:0.433 blue:0.804 alpha:1];
return redColr;
}
并像这样使用:
[[ColrClass sharedInstance] returnRedColor];
我需要在一堆文件中使用相同的颜色,所以我决定制作 "global variables" 来完成它。我创建了一个名为 ColrClass
的 NSObject
class 并实现了一些 class 方法,如下所示:
+(UIColor *) returnRedColor {
UIColor *redColr = [UIColor colorWithRed:0 green:0.433 blue:0.804 alpha:1];
return redColr;
}
所以我的问题是,还有其他方法可以做到这一点吗?我想使用最合理的解决方案,但不确定这些 class 方法是否是最好的。我错了吗,这是一个很好的解决方案?或者有什么更好的解决方案吗?
您可以在 UIColor
上创建一个类别来执行此操作。文件名类似于 UIColor+ColorClass
。该类别将如下所示:
UIColor+ColorClass.h
#import <UIKit/UIKit.h>
@interface UIColor (ColorClass)
+ (UIColor *)returnRedColor;
@end
UIColor+ColorClass.m
#import "UIColor+ColorClass.h"
@implementation UIColor (ColorClass)
+ (UIColor *)returnRedColor
{
return [UIColor colorWithRed:0 green:0.433 blue:0.804 alpha:1];
}
@end
然后在您的 ProjectName-prefix.pch
中,您可以 #import "UIColor+ColorClass.h
使此方法在整个项目中可用。方法调用将是 [UIColor returnRedColor];
在这种情况下,我更喜欢使用单例实例而不是 class 方法。我认为这样更好,因为您可以在必要时覆盖这些方法。
/* ... */
static ColrClass* sharedInstance = nil;
// Get the shared instance and create it if necessary.
+(ColrClass*) sharedInstance {
if ( sharedInstance == nil ) {
sharedInstance = [ColrClass new];
}
return sharedInstance;
}
/* ... */
-(UIColor *) returnRedColor {
UIColor *redColr = [UIColor colorWithRed:0 green:0.433 blue:0.804 alpha:1];
return redColr;
}
并像这样使用:
[[ColrClass sharedInstance] returnRedColor];