再说@property

/*

 作者:MJ

 描述:

 时间:

 文件名:Person.h

 */

#import <Foundation/Foundation.h>

 

/*

 1.set方法内存管理相关的参数

 * retain : release旧值,retain新值(适用于OC对象类型)

 * assign : 直接赋值(默认,适用于非OC对象类型)

 * copy   : release旧值,copy新值

 

 2.是否要生成set方法

 * readwrite : 同时生成setter和getter的声明、实现(默认)

 * readonly  : 只会生成getter的声明、实现

 

 3.多线程管理

 * nonatomic : 性能高 (一般就用这个)

 * atomic    : 性能低(默认)

 

 4.setter和getter方法的名称

 * setter : 决定了set方法的名称,一定要有个冒号 :

 * getter : 决定了get方法的名称(一般用在BOOL类型)

 */

 

@interface Person : NSObject

 

 

// 返回BOOL类型的方法名一般以is开头

@property (getter = isRich) BOOL rich;

 

//   

@property (nonatomic, assign, readwrite) int weight;

// setWeight:

// weight

 

// 

@property (readwrite, assign) int height;

 

@property (nonatomic, assign) int age;

 

@property (retain) NSString *name;

@end

 

#import "Person.h"

 

@implementation Person

 

@end

#import <Foundation/Foundation.h>

#import "Person.h"

 

int main()

{

    Person *p = [[Person alloc] init];

    

    

    p.rich = YES;

    

    BOOL b = p.isRich;

    

    return 0;

}

posted @ 2016-03-28 11:42  lance.xiang  阅读(67)  评论(0)    收藏  举报