内存管理:@property参数

来源:互联网 发布:多功能扫描软件 编辑:程序博客网 时间:2024/05/18 17:01

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



//  @property参数


/*

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

 

 retain : 生成的set方法里面,release旧值,retain新值

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

 copy   : release 旧值,copy新值

 

 2. 是否要生成set方法

 

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

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

 

 3. 多线程管理

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

 atomic     :性能低(默认)

 

 

 4. setter getter 方法的名称

 

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

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

 

 

 

 */


#import <Foundation/Foundation.h>

#import "Person.h"


int main(int argc,const char * argv[]) {

    

   Person *p = [[Personalloc]init];

    

    p.rich =YES;

    

   BOOL b = p.isRich;

   return 0;

}


//

//  Person.h

//  内存管理

//

//  Created by 李佳乐 on 15-4-4.

//  Copyright (c) 2015 李佳乐. All rights reserved.

//


#import <Foundation/Foundation.h>


@interface Person :NSObject


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


@property (getter = isRich)BOOL rich;


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


@property (readwrite,assign)int height;


@property (nonatomic,assign)int age;


@property (retain)NSString *name;


@end









0 0
原创粉丝点击