When getting into Objective-C programming, the declaration of properties is sometimes confusing. In Java, you declare some private variables in the class, and then create getters and setters as needed. Things seem much more involved in Objective-C, so a more detailed look at the properties is warranted. The properties in Objective-C are very similar to the automatic properties available in C#.
When you declare a property like this in Objective-C:
@property (nonatomic, strong) NSString *title;
you actually tell the compiler to do several things in a single line:
Declare a class variable called ...