Mutating a UIView's CALayer

The layer proerty of a UIView is a (readonly) - attributed property.


Technically, this just means we are unable to make a UIView'slayer pointer point to a different CALayer object.


Is it safe, however, to mutate the CALayer to which a UIView's layer pointer points to?


For example, is the following safe? (assuming window's class's layerClass returns CAEAGLayer)


CAEAGLLayer *layer = (CAEAGLLayer *)[window layer];
[layer setOpaque: YES];


Thank you.