我不确定何时在下面的代码示例中释放由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也是如此。那么什么时候才是释放这个道路的合适时间呢?
最佳答案
您可以在下一行之后将其释放:
shapeLayer.path = clipPath;
由于您要分配给
shapeLayer.path
,因此您不必担心clipPath
,因为它将由shapeLayer
拥有。关于ios - 何时发布CGMutablePathRef,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15300292/