//
// Person.h
// 手动内存管理
//
// Created by admin on 15/8/5.
// Copyright (c) 2015年 admin. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "Car.h"
@interface Person : NSObject
/*
@property 参数的作用
1. 生成set和get方法的声明
2. 生成set和get方法的简单实现
3. 如果没有手动声明相对的成员变量,则会自动生成一个_开头的成员变量
*/
/*
@property 参数的类型
1. 与set方法内存管理相关参数
retain:生成符合内存管理原则的set方法(应用于对象类型)
assign:直接赋值,(应用于基本数据类型、对象类型)
copy:
2. 多线程相关
nonatomic:不生成多线程、多线程管理代码(使用这个就可以了,效率高一点)
atomic:生成多线程、多线程管理代码(默认情况是这个,开发mac软件多用这个,APP基本不用)
3. 是否要生成set和get方法
readwrite:可读可写属性,同时生成set与get方法
readonly:只读属性,只生成get方法
4. set与get方法重命名的参数
setter:设置生成的set方法名称
getter:设置生成的get方法名称
*/
@property (nonatomic,retain)Car *car;
@property (nonatomic,retain)NSString *name;
@property (nonatomic,assign)int age;
@property (nonatomic,assign)float weight;
@property (nonatomic,assign,readonly)int idCard;
// 改变set方法名和get方法名
@property (nonatomic,assign,setter=shezhi:,getter=quzhi)BOOL isDied;
@end
// Person.h
// 手动内存管理
//
// Created by admin on 15/8/5.
// Copyright (c) 2015年 admin. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "Car.h"
@interface Person : NSObject
/*
@property 参数的作用
1. 生成set和get方法的声明
2. 生成set和get方法的简单实现
3. 如果没有手动声明相对的成员变量,则会自动生成一个_开头的成员变量
*/
/*
@property 参数的类型
1. 与set方法内存管理相关参数
retain:生成符合内存管理原则的set方法(应用于对象类型)
assign:直接赋值,(应用于基本数据类型、对象类型)
copy:
2. 多线程相关
nonatomic:不生成多线程、多线程管理代码(使用这个就可以了,效率高一点)
atomic:生成多线程、多线程管理代码(默认情况是这个,开发mac软件多用这个,APP基本不用)
3. 是否要生成set和get方法
readwrite:可读可写属性,同时生成set与get方法
readonly:只读属性,只生成get方法
4. set与get方法重命名的参数
setter:设置生成的set方法名称
getter:设置生成的get方法名称
*/
@property (nonatomic,retain)Car *car;
@property (nonatomic,retain)NSString *name;
@property (nonatomic,assign)int age;
@property (nonatomic,assign)float weight;
@property (nonatomic,assign,readonly)int idCard;
// 改变set方法名和get方法名
@property (nonatomic,assign,setter=shezhi:,getter=quzhi)BOOL isDied;
@end