If I understand correctly, in Objective-C, properties are automatically synthesized with getters and setters, with the instance variable declared as the property name with a
A property is not automatically synthesized if you implement all required accessor methods (getter for a read-only property, getter + setter for a read-write property).
Because you implement the getter method -(NSString *)myString
for the read-only property,
it is not auto-synthesized. If your getter needs an instance variable to backup the property value, you have to add the synthesize statement (as you did) or an instance variable.