当我在玩并弄清楚https://github.com/enormego/EGOTableViewPullRefresh中的工作原理时,我发现 @property 和 @synthesize 很神秘。这是我提到的代码
EGORefreshTableHeaderView.h
@interface EGORefreshTableHeaderView : UIView {
id _delegate;
EGOPullRefreshState _state;
UILabel *_lastUpdatedLabel;
UILabel *_statusLabel;
CALayer *_arrowImage;
UIActivityIndicatorView *_activityView;
}
@property(nonatomic,assign) id <EGORefreshTableHeaderDelegate> delegate;
EGORefreshTableHeaderView.m
@synthesize delegate=_delegate;
我已阅读此http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/ObjectiveC/Chapters/ocProperties.html,据我了解,它为代表的 _delegate 创建了新名称。(我的理解正确吗?)
但是我仍然不明白为什么他们必须用那些 @synthesize = 指令使事情变得复杂。