【发布时间】:2015-01-12 23:08:25
【问题描述】:
我正在为 iOS 应用程序实现本质上是“主题”的东西。主题在编译时是已知的,并且永远需要在运行时更改/重新加载。
我创建了一个Theme 类,它的工作是为当前主题提供适当的UIColor 对象。类的相关部分如下所示:
主题.h:
+(UIColor*)primaryColor;
主题.m
static UIColor *primaryColor;
//only ever called once, during +[Theme initialize]
+(void)configureColors{
primaryColor = [UIColor blueColor];
}
+(UIColor*)primaryColor{
return primaryColor;
}
请注意,+configureColors 的最终实现将包含一个 if 测试,以根据所需的主题设置不同的颜色
在这种情况下我需要担心线程安全吗?有更好的方法吗?
我担心会同时向+primaryColor 拨打2 个电话。
【问题讨论】:
标签: ios objective-c thread-safety uikit