【发布时间】:2011-04-13 12:52:06
【问题描述】:
我以UIButton 接口为例。
这里是@private定义的第一行:
@private
CFMutableDictionaryRef _contentLookup;
UIEdgeInsets _contentEdgeInsets;
UIEdgeInsets _titleEdgeInsets;
这里有 2 个被定义为属性的 ivar:
@property(nonatomic) UIEdgeInsets contentEdgeInsets;
@property(nonatomic) UIEdgeInsetstitleEdgeInsets;
但是,我在私有方法中找到的 ivars 上没有定义这两个属性(后缀为_)。
我不确定如何实现这两个属性的 setter 和 getter 来引用私有 ivars。
第二个问题...我曾经为 ivar 创建属性,因此,如果我有一个 ivar FOO,我可以为 FOO 创建一个 @property。为不存在的 ivar 创建属性是正常行为吗? (在这种情况下,contentEdgeInsets 不是此类的属性......相反,_contentEdgeInset 在@interface 中定义,这是一个有效的 ivar)。好吧,我错过了这个论点?
【问题讨论】:
标签: objective-c