1.16. Adding Properties to Classes
Problem
You want to add properties to your classes so that you can take advantage of dot notation to access those values, as opposed to using methods on your classes.
Solution
Define properties in your classes using the @property keyword.
Discussion
Anything addressed via dot notation is a property. Properties are shortcuts to methods. What do I mean? Well, let’s have a look at an example:
NSObject *myObject = [[NSObject alloc] init]; myObject.accessibilityHint = @"Some string";
You can see that we allocated and initialized an object of type
NSObject and used dot notation to access a property called
accessibilityHint in that object.
Where did accessibilityHint come from?
It’s quite simple. A property is defined using the @property keyword. In fact, if you hold down
the Command key on your keyboard in Xcode, and simply click on the
accessibilityHint property in the
example that we just saw, you will be redirected to the NSObject.h file where you will see
this:
@property(nonatomic, copy) NSString *accessibilityHint;
But what are properties? Well, when we define a property, we tell the compiler that we will write a setter and a getter method for this property. If somebody tries to set a value in this property, the runtime will execute our setter method. If somebody tries to read from the property, the runtime will execute the getter method.
Let’s see this in detail. In Recipe 1.12 we saw how we create classes. We
created a class called Person. In
Recipe 1.13 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access