0
有時候在處理CG元素時會感到困惑,並且有下面這個看起來很簡單但給我帶來麻煩的場景。將CGColorRef作爲指針存儲在NSArray中
我有一個CGColorRef
屬性調用fillColor
,爲此,我手動定義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方法將如何更改?這真讓我困惑。
你將如何管理指針的內存,我認爲這讓我很困惑,我的setter方法會改變(除了指針語法) –
即,它現在是否會成爲一個對象我會保留? –
我想你可能想重新思考你的應用的邏輯。你爲什麼需要以這種方式存儲東西?我只是嘗試添加一個指向NSArray的指針,它不會讓我這樣做會變得更復雜。 – borrrden