Per fare un esempio considera la seguente classe, senza proprietà:
@interface Punto : NSObject
{
double x,y;
}
- (void) setX:(double) x_value;
- (void) setY:(double) y_value;
- (double) getX;
- (double) getY;
@end
@implementation Punto
- (void) setX:(double) x_value
{
x = x_value;
}
- (void) setY:(double) y_value
{
y = y_value;
}
- (double) getX
{
return x;
}
- (double) getY
{
return y;
}
@end;
Utilizzando le proprietà, invece, si avrebbe:
@interface Punto : NSObject
@property double x,y;
@end
@implementation Punto
@synthesize x,y;
@end
Per quanto riguarda il loro utilizzo, senza le proprietà avresti:
Punto *obj = [[Punto alloc] init];
[obj setX:5];
NSLog(@"%d",[obj getX]);
con le proprietà invece avresti:
Punto *obj = [[Punto alloc] init];
obj.x = 5;
NSLog(@"%d",obj.x);
Ti chiedo scusa per eventuali errori perché sono dal cellulare, però i concetti sono quelli