【发布时间】:2012-09-26 01:50:59
【问题描述】:
我在处理 CG 元素时有时会感到困惑,并且有以下场景,看起来很简单,但给我带来了麻烦。
我有一个名为fillColor 的CGColorRef 属性,为此我手动定义了setter 方法,如下所示:
@property(nonatomic) CGColorRef fillColor;
- (void) setFillColor:(CGColorRef)fillColor
{
CGColorRetain(fillColor);
CGColorRelease(_fillColor);
_fillColor = fillColor;
}
在我_fillColor 到某个值之后,我将它存储在一个数组中,如下所示:
_fillColors = [[NSArray alloc] initWithObjects:(id)_fillColor, nil];
我希望这样当更改self.fillColor 时,我希望数组中的值也可以更改。我显然可以创建一个指针,即CGColorRef *fillColor,但这样做我将如何管理内存(即释放、保留它)以及我的setter 方法将如何改变?这真的让我很困惑。
【问题讨论】:
标签: iphone ios cocoa-touch memory-management core-graphics