【发布时间】:2011-09-20 11:53:20
【问题描述】:
我编写了一些小宏来帮助设置应用程序范围的字体样式、颜色和渐变。问题是每当我使用宏中定义的颜色或字体时,xcode 都会抛出警告。有什么方法可以让 xcode 验证宏,并希望得到代码提示?
#define HEX_COLOR(colorname, hexcolor) \
\
@implementation UIColor(Style##colorname) \
\
+ (UIColor*) colorname \
{ \
static UIColor * staticColor = nil; \
if(! staticColor) { \
float red = ((hexcolor & 0xFF0000) >> 16)/255.0; \
float green = ((hexcolor & 0xFF00) >> 8)/255.0; \
float blue = (hexcolor & 0xFF)/255.0; \
float alpha = (hexcolor >> 24)/255.0; \
\
staticColor = [[UIColor colorWithRed:red \
green:green \
blue:blue \
alpha:alpha] retain]; \
} \
return staticColor; \
} \
@end
在我的应用程序委托中,我设置了应用程序范围的字体和颜色,如下所示:
HEX_COLOR(specialGreenColor, 0x66BAD455);
.....
此行会引发该属性可能不存在的警告。
[[UIColor specialGreenColor] set];
另外,我不想减少 xcode 中的错误报告,因为没有看到警告是倒退。我只是想找到一种用xcode注册marco的方法。
【问题讨论】:
标签: objective-c ios xcode macros categories