It’s right there in the CALayer documentation: contents An object that provides the contents of the layer. Animatable. Discussion A layer can set this property to a CGImageRef to display the image as its contents. The default value is nil. There’s exactly one thing a developer can assign to a layer’s contents property: a CGImageRef. So why is the property declared to be an id? Back Up a Second. id