0
我有这样定义的的UIColor:为什么使用#define UIColor作为CGColorRef会导致崩溃?
#define kCircleInnerShadowColor [UIColor colorWithWhite:.78 alpha:1.0]
然后我用这样的:
CGColorRef shadowColorRef = kCircleInnerShadowColor.CGColor;
CGContextSetShadowWithColor(cxt, size, 0, shadowColorRef);
然而,这导致BAD_ACCESS崩溃。如果我反而做
CGContextSetShadowWithColor(cxt, size, 0, kCircleInnerShadowColor.CGColor);
我不会崩溃,它工作正常。这是什么原因?
这是有效的,“内部指针”的问题(正是因为丹尼尔介绍)。如果使用这种颜色,一个可能更好的解决方案*很多*是有一个全局变量,而不是#define,以避免大量的内存流量。 – bbum
如何创建全局UIColor变量? – Snowman
哪一行是释放CGColorRef? – Snowman