On lazy instantiation and convenience methods
Assume you have a Singleton Constants class, instance of which you'd like to use throughout your application. In someClass , therefore we can reference [Constants instance] someCleverConstant]; Typing this gets old really quick and it would be nice to get a shortcut to the instance. In someClass , we can declare @property (nonatomic, weak, readonly) Constants *constants; And a getter to the instance -(Constants*) constants { if (constants == nil) constants = [Constants instance]; return constants; } This way in someClass, therefore we can reference constants.someCleverConstant; instead A few