OC-属性

属性的说明

@property NSString *address;
//相当于声明了设置器 和 访问器
-(id)initWithName:(NSString *)name
              Age:(NSInteger)age
          Address:(NSString *)address;

+(id)newStudentWithName:(NSString *)name
                    Age:(NSInteger)age
                Address:(NSString *)address;/*

访问读写,原子性,内存管理

1.存取方法名称

系统默认的存取方法名称 propertyName 和 setPropertyName,例如name 和setName:方法,
这样做方便采用点语法。可以采用默认的存取方式
 getter = getterName
 setter = setterName
     注意,如果改变了getter 和setter 方法的名称,则必须提供自定义的方法。

2.访问读写:

 readonly 指明属性是只读的,系统只会产生getter,不会产生setter
 readwrite 指明属性是可读写的,这个默认的,因此可以省略
 对于只读属性,如果试图通过点语法赋值,会编译错误

3.原子性

 automic       原子操作,这是默认的
 nonautomic    非原子操作,一般就使用nonautomic,但是没有   办法保证在多线程环境下不出错

4.内存管理

 retain 会通过retain来持有目标对象,之前的对象会接受到释放的消息
 copy   会通过copy肤质对象,之前的对象会接受到释放的消息
 assign 采用简单的赋值方法,这是默认的方式

 strong 表示强引用关系,即拥有目标对象的所有权
     weak   表示弱引用关系,不拥有目标对象的所有权。当目标对象被销毁之后,属性值会被自动设为nil。

 strong 相当于 retain 或者 copy,对象要用retain,copy,strong 来描述 
 assign 相当于 assign 基本数据类型要用到 assign 或者 weak 来描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值