So I have a NSString property named description, defined as follows:
@property (strong, nonatomic) NSMutableString *description;
I\'m able
1) NSObject already has a method named description. Pick another name
2) Your setter is an infinite loop
But as to your actual question: The compiler will only autogenerate backing variables if you do not override both methods.
P.S. No, you can't just "use self.description instead" because then your getter would also be an infinite loop.