黑马程序员--IOS_学习笔记_内存管理相关@porperty
2014-12-14 14:29
363 查看
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
2> assign : 基本类型,直接赋值,默认的
3> copy :和协议相关,也有retain的功能。
2> readonly
2>atomic : 性能低 默认
规范化。
2> getter = 方法名。
系统会自动生成
- (void) setCar:(Car*)car
{
if(car != _car)
{
[_car release];
_car = [car retain];
}
}
这样程序员不用重复写大量的重复的代码了。
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可以大大减少重复的代码量,系统会自动生成优化后的高效代码。
一、@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可以大大减少重复的代码量,系统会自动生成优化后的高效代码。
相关文章推荐
- 黑马程序员————IOS学习笔记 第7篇 内存管理
- ios学习笔记之内存管理
- 【黑马程序员】iOS学习之路——Objective-C之内存管理
- iOS开发学习笔记三 —— 内存管理
- 黑马程序员----Objective-C学习笔记之内存管理
- iOS开发学习之内存管理笔记简述
- 黑马程序员-IOS学习笔记 OC 关于匿名类相关概念
- IOS学习笔记--Objective-C之内存管理
- 黑马程序员之SQL学习笔记: 数据库相关知识 小总结
- 黑马程序员_O‘Reilly java nio学习笔记之通道_内存映射文件&&Channel-to-Channel 传输
- Objective-C 学习笔记18 内存管理
- Effective C++学习笔记-内存管理
- Objective-C基础教程学习笔记 内存管理
- 黑马程序员——交通灯管理系统学习笔记
- iOS学习笔记11—代码里打印程序所占用的内存
- 黑马程序员之HTML学习笔记:HTML相关知识总结
- C语言内存分配管理(学习笔记)
- LCC学习笔记之一 --内存和字符串管理
- C++ Standard Stl -- SGI STL源码学习笔记(04) stl_deque && 初涉STL内存管理
- PowerPC体系结构学习笔记之内存管理