@property
@synthesize
- 这两个的作用是代替set和get方法;
- @property int age;代替下面两句
- - (void)setAge:(int)age;
- - (int)age;
- 作用:
- 自动生成某个成员变量的setter和getter声明;
- @property double weight;
- @property NSString *name;
- 现在需要到实现中去实现;
- 使用@synthesize age;会把age property这些声明进行实现;
- @synthesize age = _age;来指定对谁赋值;
- p代表property
- @synthesize age = _age,name = _name;
- @propterty int speed,wheels;
- @synthesize speed = _speed,wheels = _wheels;会访问_speed这个成员变量,如果不存在,就会自动生成@private类型的_speed变量;
- 一般是很少连在一起的,都是分开的;
- 在xcode4.4之后,@property既生成声明又生成实现;既生成set方法又生成get方法;
- 用@property来实现和声明,里面的成员变量都是私有的,如果想子类去访问,需要单独设置成员变量;
- @synthesize speed;如果speed不存在,就会自动生成@private类型的speed变量;
- @synthesize speed = _speed,,如果 _speed 不存在,就会自动生成@private类型的_speed变量;
- 默认情况下,setter和getter方法中的实现,会去访问下划线_开头的成员变量;
- 如果用户自己定义了,xcode就不会自动生成;
- 若手动实现了setter方法,编译器就只会自动生成getter方法;
- 若手动实现了getter方法,编译器就只会自动生成setter方法;
- 若同时手动实现了setter和getter方法,编译器就不会自动生成不存在的成员变量;
时间: 2024-10-10 10:09:13