成员变量,实例变量,属性变量
@interface MyViewController :UIViewControlle
{
UIButton *yourButton;
int count;
id data;
}
@property (nonatomic, strong) UIButton *myButton;
@end
成员变量 (实例变量 + 基本数据类型)
UIButton *yourButton;
,int count;
,id data;
,实例变量
UIButton *yourButton;
,id data;
属性
@property (nonatomic, strong) UIButton *myButton;
成员变量 可以加变量修饰词
@public 、@protected、@package、@private
-
@public
任何地方都可以访问 如外部访问: person->name -
@package
框架内有效 可以外部访问: -
@protected
默认就是这个修饰词, 只能在 自己和子类中访问 -
@private
私有限制,只能在自己类中访问。
类别中的属性property
类与类别中添加的属性要区分开来,因为类别中只能添加方法,不能添加实例变量。经常会在ios的代码中看到在类别中添加属性,这种情况下,是不会自动生成实例变量的,必须自己实现 get/set 方法。
注意一点,匿名类别(匿名扩展)是可以添加实例变量的,非匿名类别是不能添加实例变量的,只能添加方法,或者属性(其实也是方法)。