从属性合成iVars?

时间:2011-05-25 15:15:54

标签: iphone objective-c cocoa-touch

当我执行以下操作时,我可以检查一下发生了什么(见下文),我认为在“INTERFACE”中只创建了三个属性,没有创建iVars。在“IMPLEMENTATION”中,这三个属性被分配给称为_window_animationTimer&的iVars。由_currentFrame命令创建的@synthesize

// INTERFACE
@interface testDelegate : NSObject ... {
}
@property (nonatomic, retain) IBOutlet UIWindow *window;
@property (nonatomic, assign) NSTimer *animationTimer;
@property (nonatomic, assign) int currentFrame;
...

// IMPLEMENTATION
@implementation testDelegate
@synthesize window = _window;
@synthesize animationTimer = _animationTimer;
@synthesize currentFrame = _currentFrame;
...

1 个答案:

答案 0 :(得分:4)

是的,这就是它的工作原理。 @synthesize现在可以自动生成适当的实例变量以及它们的访问器。这是该语言的一个相对较新的发展。