黑马程序员--IOS_学习笔记_内存管理相关@porperty

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------


一、@property

1、在OC中可以通过如下形式声明属性:

@porperty (——————) Car *_car;


2、括号里面的选项分为4大类。

1. SET方法内存相关。

1> retain  :对象  release旧值, retain新值。

2> assign : 基本类型,直接赋值,默认的

3> copy   :和协议相关,也有retain的功能。


2. 读写方式

1> readwrite  默认。

2> readonly


3. 多线程相关

1>nonatomic : 性能高,  不加锁。

2>atomic       : 性能低 默认


4.   setter和getter的方法名。

1> setter = 方法名      一般不用,当返回的数据类型是布尔类型的时候通过getter = isRich, 来判断是否有钱,

规范化。

2> getter = 方法名。


3、使用@property系统自动生成属性方法

使用   @porperty (retain) Car *car;

系统会自动生成  

- (void) setCar:(Car*)car

{

  if(car != _car)

{

  [_car release];

_car = [car retain];

}

}

这样程序员不用重复写大量的重复的代码了。


4、实际开发中使用的形式

设计一个人类,

typedef enum (sexMan,sexWoman) Sex;

typedef struct (int Year; int Month; int Day) Date;


@interface Uer : NSObject


@porperty (nonatomic ,  retain, readwrite) NSString *name;  系统可以生成大量本应该程序员写的重复代码。自动优化内存,release,retain

@porperty (nonatomic, retain, readwrite) NSString *phone;

@porperty (nonatomic, assign,readwrite) Sex sex;

@porperty (nonatomic, assign, readwrite) Date date;


@end // User


总结:使用@porperty可以大大减少重复的代码量,系统会自动生成优化后的高效代码。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值