将UI常量保持在可从所有控制器访问的单独类中的最佳方法是什么?
UIView,UIImage和UIColour所有这些图像和颜色在我的控制器中创建了这么多的分配和释放,其中大多数都是相同的。我不是一次又一次地在不同的类中分配/重新分配相同的图像和视图,而是想要创建它们一次,缓存它们(或类似的东西)并在需要时轻松访问。
我想保持记忆和代码清洁。
答案 0 :(得分:2)
您可以使用头文件中定义的某些宏,然后可以将其包含在所有相应的实现文件中,如果您希望将它们提供给项目中的每个文件,也可以包含在prefix.pch
中。
例如,假设一个名为Config.h
对于共享UIColor
,您可以添加以下内容...
#define SOME_CONSTANT_COLOR [UIColor colorWithRed:0.5f green:0.5f blue:0.5f alpha:0.5f]
然后您可以像使用任何其他宏一样访问它...
#import "Config.h" // at the top of you implmentation file, or prefix header
someView.backgroundColor = SOME_CONSTANT_COLOR;
同样也适用于图像..
#define SOME_IMAGE [UIImage imageNamed:@"someImage.png"]; // In config.h
myImageView.image = SOME_IMAGE; // In implementation file
答案 1 :(得分:2)
是的,可能的
创建一个类似gconstants的类,然后将所有字符串存储在h / m文件
中 extern NSString *const APP_TITLE;
@interface UIColor (APP)
+(UIColor *) APP_NAV_COLOR;
@end
<。>文件中的
NSString *const APP_TITLE = @"APP Name";
@implementation UIColor (APP)
+(UIColor *) APP_NAV_COLOR { return [UIColor colorWithRed:00/256.0 green:111/256.0
blue:59/256.0 alpha:1.0]; }
@end
并在任何控制器中声明头文件
self.title = APP_TITLE;