Object-C 关于@property和@synthesize的理解

@property

@property NSInteger *slider;
//等于以下
//- (void)setSlider: (int)slider;
//- (int)slider;

property 一般是写在 .h 文件

  • 自动生成实例变量的setter和getter方法的 声明
  • 一行代码就可以完成setter and getter方法的声明和实现,以及成员变量的声明

@synthesize

@synthesize age = _age;
//等价以下
//- (void)setAge: (int)age{
//    _age = age;
//}
//- (int)age{
//    return _age;
//}

synthesize 一般写在 .m 文件

  • 自动生成成员变量的setter和getter方法的 实现
  • synthesize后面跟的是property后面声明的实例变量

它们是Objective-C 2.0加入的指令,前者用于声明,后者用于合成访问器,结合使用就可以自动生成访问器了

你可能感兴趣的:(Object-C 关于@property和@synthesize的理解)