I'm going to guess that the problem is either
You are saying
@synthesize image;
without telling us about it, or
you are supplying a getter method
image
without telling us about it.
When you say do either of those things and you supply a setter as you are doing here (setImage:
), then the synthesized instance variable is named image
, not _image
. But if you do not supply both a setter and a getter, or you do not say @synthesize
, the synthesized instance variable is named _image
.
I'm betting that this is the difference between your cases.