重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
在面向对象编程中,创建一个对象,肯定会包含其中的一些属性,然后会为这些属性写上相应的set,get方法(就是通常我们讲的设置器和访问器)
创新互联公司是一家集网站建设,巫山企业网站建设,巫山品牌网站建设,网站定制,巫山网站建设报价,网络营销,网络优化,巫山网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
一):通常意义上我们写的属性的set和get方法如下:创建对象,定义声明属性,然后手动编写setXXX(),getXXX()方法,如下:Person对象
1:Person.h
//// Person.h// PersonGetSet//// Created by hmjiangqq on 14-1-22.// Copyright (c) 2014年 hmjiangqq. All rights reserved.//#import@interfacePerson:NSObject{//声明一个变量int myNumber;}-(int)myNumber;-(void)setMyNumber:(int)_number;-(void)printf;@end
2:Person.m
//// Person.m// PersonGetSet//// Created by hmjiangqq on 14-1-22.// Copyright (c) 2014年 hmjiangqq. All rights reserved.//#import "Person.h"@implementationPerson-(int)myNumber{return myNumber;}-(void)setMyNumber:(int)_number{ myNumber=_number;}-(void)printf{NSLog(@"myNumber is %d\n",myNumber);}@end这个当属性比较的少的时候还可以,如果一个对象的属性非常多的时候,我们一个个去手动写,会非常浪费开发时间,影响效率.所以在OC2.0版本之后出现了自动的设置器和访问器.
下面我们来介绍一下OC中特有的设置和访问器
2:简化设置器和访问器.注意两个关键字@property,@synthesize
person.h
//// Person.h// PersonGetSet//// Created by hmjiangqq on 14-1-22.// Copyright (c) 2014年 hmjiangqq. All rights reserved.//#importperson.m@interfacePerson:NSObject{//声明一个变量int myNumber;}// 普通的get和set//-(int)myNumber;//-(void)setMyNumber:(int)_number;@property(nonatomic)int myNumer;//这样声明之后,会动态创建-(void)printf;@end
//// Person.m// PersonGetSet//// Created by hmjiangqq on 14-1-22.// Copyright (c) 2014年 hmjiangqq. All rights reserved.//#import "Person.h"@implementationPerson// 普通的get和set实现//-(int)myNumber{// return myNumber;//}//-(void)setMyNumber:(int)_number{// myNumber=_number;//}@synthesize myNumer;-(void)printf{NSLog(@"myNumber is %d\n",myNumber);}@end二)在@property()括号中,可以填写的属性:readwrite:默认readonly:只读以为中么有set方法assign:默认,引用计数不增加retain:引用计数增加1原子性:actiomic默认非原子性:nonatomic