@interface MyViewController :UIViewControlle
{
int age;
UIButton * btn;
}
@property (nonatomic, strong) UIButton *myButton;
@end
1.成员变量
成员变量是定义在{}
号中的变量。(age)
2.实例变量
如果成员变量的数据类型是一个类则称这个变量为实例变量。(btn是实例变量)
实例变量+基本数据类型变量=成员变量
3.属性
属性是oc语言的一个新的机制,并且要求你必须声明与之对应的实例变量。、
苹果将默认编译器从GCC转换为LLVM(low level virtual machine),从此不再需要为属性声明实例变量。如果LLVM发现一个没有匹配实例变量的属性,它将自动创建一个以下划线开头的实例变量。因此,在这个版本中,我们不再为输出口声明实例变量。
以前GCC编译器中,使用@synthesize的作用:
(1)让编译器为你自动生成setter与getter方法。
(2)可以指定与属性对应的实例变量。例如@synthesize myButton = xxx;那么self.myButton其实是操作的实例变量xxx,而不是_myButton了。如果xxx成员变量不存在,就会自动生成一个private的xxx成员变量。