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,因此您不必担心clipPath之后的事情,因为它将归shapeLayer.

于 2013-03-08T19:22:49.007 回答