Со свойствами в obj-c, нужно ли нам объявлять переменные экземпляра?
Например, если мой .h файл выглядит так:
@interface MyClass : NSObject {
}
@property (nonatomic, retain) NSNumber *someId;
@property (nonatomic, retain) NSDate *expires;
@property (nonatomic, retain) NSString *someString;
...
Это хорошо? Он компилируется и работает, это «готовая вещь»? Или я действительно должен делать следующее:
@interface MyClass : NSObject {
NSNumber *someId;
NSDate *expires;
NSString *someString;
}
@property (nonatomic, retain) NSNumber *someId;
@property (nonatomic, retain) NSDate *expires;
@property (nonatomic, retain) NSString *someString;
...
Есть ли разница в любом из вышеперечисленных способов, если я планирую всегда использовать средства доступа к свойству?
@synthesize позаботится о создании экземпляров vars для меня?