In implementing an interface it seems the common method in tutorials and literature is to declare an ivar and then set the @property then @synthesize
@property
@synthesize
The @property only implements the accessor methods, the instance variable itself has to exist. Try ignoring the ivars and it will fail on runtime, if not on compile time.