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