All about Properties in swift
First , let me talk about a property
. Suppose if we need to change or access an iVar in your class using an object of your class, then there should be getter and setter methods assigned to the iVar. A property is used mainly when other objects need to change or access the ivars in your object, without manually defining getters and setters, or using @property (in objective - c).
In objective-c, @property
declares a property in your class header. Here is an example:
@property (nonatomic, retain) NSString *myString;
@synthesize creates your setter and getter for your property (accessor methods). Without synthesize
you have to write your own setter
and getter
implemention, like getMyString or setMyString (capitalize the first character of your property).
So, the above property declaration is equivalent to:
- (NSString*)myString {}
- (void)setMyString:(NSString*)newValue {}
Properties can be further classified into Stored properties and Computed properties.
Stored Property vs Computed property
Stored properties store constant and variable values as part of an instance, whereas computed properties calculate (rather than store) a value.