何时释放CGMutablePathRef

时间:2013-03-08 17:56:36

标签: ios memory-management memory-leaks cgpath

我不确定何时在下面的代码示例中释放由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一样。那么什么时候才能释放这条路呢?

1 个答案:

答案 0 :(得分:1)

您可以在以下行后发布:

shapeLayer.path = clipPath;

由于您要分配到shapeLayer.path,因此您不必担心此后的clipPath,因为它将由shapeLayer拥有。