OC学习笔记之@property关键字

基本概念:
      @property是一个编译器指令,编译器指令就是用来告诉编译器要做什么
      @property告诉编译器:声明属性的访问器(getter/setter);




用法:
     @property    数据类型     方法名-------------例如@property int name;
     在Xcode4.4之前,@property用来帮我们实现get/set方法的声明






@property使用方法的注意事项
   1.@property只能书写在@interface........@end的对象的声明的方法中
   2.目的就是代替get/set方法,并且@property后面的方法名为属性变量中属性参数去掉下划线之后的部分
      @interface{
             int _a;
       }
       @property int a;//实现了set和get方法的声明相当于:
             -(void)setA:(int)a;
             -(int)a;
       @end




@property的增强使用(Xcode4.4之后)
   1.在4.4之后,可以只是用@property,而不使用@synthesize
      @property int age;//申明和实现了_age的get方法和set方法,并且如果对象属性中没有_age的话,
      系统也会自动生成对象的该属性值。
      .h文件中的@property int score;.m文件中如下实现:
      - (void)setScore:(int) score{
              _score = score;
      }
      -(int)score{
              return _score;
      }
      相当于在.m的文件中自动生成了变量,并且不能被继承
      .m文件:
      #import ”Person.h“
      int _score;//系统自动生成的,并且是私有的,不能被继承
    2.增强型@property下重写get和set方法
      由于set及get方法的是实现在被引用的时候,属性的值是没有经过校验的,所以需要重写set方法进行判断。
      并且实现的时候get和set方法只能实现一个。如果需要都写的话,需要在.m文件中使用@synthesize关键字。






@property参数
   
   总共三类,七个属性值。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值