我不确定何时在下面的代码示例中释放由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一样。那么什么时候才能释放这条路呢?
答案 0 :(得分:1)
您可以在以下行后发布:
shapeLayer.path = clipPath;
由于您要分配到shapeLayer.path
,因此您不必担心此后的clipPath
,因为它将由shapeLayer
拥有。