1

以下のコードサンプルで、CGPathCreateMutableによって作成されたパスをいつリリースするかがわかりません。

    // iVar
    ivarImageView = [[UIImageView alloc] initWithImage:nil];

    // Clip to shape
    CALayer *imageLayer = [self.ivarImageView layer];
    CAShapeLayer *shapeLayer = [CAShapeLayer layer];
    CGMutablePathRef clipPath = CGPathCreateMutable();
    shapeLayer.path = clipPath;
    imageLayer.mask = shapeLayer;

    [self addSubview:self.ivarImageView];

iVarImageViewは、保持されるivarです。そのため、shapLayer.pathと同様に、オブジェクトの存続期間中使用されます。では、このパスを解放する適切な時期はいつですか?

4

1 に答える 1

1

次の行の後に解放できます。

shapeLayer.path = clipPath;

に割り当てているので、その後は が所有するのでshapeLayer.path心配する必要はありません。clipPathshapeLayer

于 2013-03-08T19:22:49.007 に答える