我认为当我将视图添加为像这样的子视图时:
UIView* view = [[UIView alloc] init]; [self addSubview:view]; [view release];
之后释放视图是安全的......对于CALayer对象是否相同?如果我使用alloc/init创建CALayer,并执行:
[self.layer addSublayer:layer];
以后释放该层是否安全?
是.通常,如果对象A需要对象B,则对象A有责任保留它.因此,如果"self.layer"需要"layer",它将在addSublayer:中释放retainCount,并在不再需要时释放层.虽然有一些例外情况,但这些异常往往有很好的记录.