Why does casting a CGImageRef to an object pointer require no memory management info (__bridge etc.)? For example, if image is of type UIImage *, and layer is a UIView’s underlying layer, then the following line of code does not elicit any complaints from the compiler:
layer.content = (id)[image CGImage];
To quote Transitioning to ARC Release Notes:
(OK, not quite cocoa-touch, but hey!).
Because CGImage returns a CoreFoundation object, a
__bridgecast isn’t required.