I do not understand why this would be in the first place.
You should think that the code that Apple developers already wrote will surely release the image that the camera took after completing the delegate call. For example, suppose this is what a developer might look like (pre-ARC to show you that you don't even need ARC for this).
- (IBAction)userDidPressAccept:(id)sender {
In the example, if the user did not retain image (or even did not implement the method), then X will be 1, and when he reaches the final release , the image will disappear well. If the user saves the image, the image will work, but a dictionary that supports it can get dealloc -ated.
This is the basic concept of “ownership” that comes with reference counting, like a glass ball that needs to be passed by hand, and if the ball does not have an arm under it, it will fall and break.
ARC seems to mask all this, doing it yourself, but the basic concepts remain, ownership is transferred to the implementation of the delegate, and if there is no delegate who claims it, it will be deleted.
source share