博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
@property
阅读量:6615 次
发布时间:2019-06-24

本文共 2209 字,大约阅读时间需要 7 分钟。

在XCode4.5以上,写了@property之后,系统会自动生成私有_字段和实现@synthesize方法

但如果自己写了set或者get方法之后,就不会帮你产生默认的下划线字段

Student.h:

#import 
@interface Student : NSObject{ @public //以下就是共有类型 还有@private和@protected int _age; int _no; } @property int age;//自动申明getter和setter方法 @property int no; //-(int)age; //-(int)no; OC里面没有构造方法 //-(void)setAge:(int)newAge; //setAge:是它的方法名(注意要带上冒号) //-(void)setNo:(int)newNo; // //-(void)setAge:(int)newAge AndNo:(int)newNo; //setAge: AdnNo:是它方法名 -(id)initWithAge:(int)newAge andWithNo:(int)newNo; //-(NSString *)description; @end

Student.m:

#import "Student.h"  @implementation Student @synthesize age=_age,no=_no;//自动实现setter和getter方法  //#pragma mark - setter //#pragma mark 设置年龄 //-(void)setAge:(int)newAge{ //    age=newAge; //} //#pragma mark 设置学号 //-(void)setNo:(int)newNo{ //    no=newNo; //} //#pragma mark 设置年龄跟学号 //-(void)setAge:(int)newAge AndNo:(int)newNo{ //    age=newAge; //    no=newNo; //} //#pragma mark - getter //#pragma mark 获得学号 //-(int)no{ //    return no; //} //#pragma mark 获得年龄 //-(int)age{ //    return age; //} #pragma mark - 构造方法 #pragma mark 通过传入年龄和学号初始化一个构造方法 -(id)initWithAge:(int)newAge andWithNo:(int)newNo{     if(self=[super init]) //首先要初始化父类方法     {         _age=newAge;         _no=newNo;         return self;     }     return nil; } //重写父类的description方法 //-(NSString *)description{ //    NSString * str =[NSString stringWithFormat:@"age is %i and no is ",self.age,self.no]; //    return str; //} @end

main:

#import 
#import "Student.h" int main(int argc, const char * argv[]) { @autoreleasepool { Student * student=[[[Student alloc] initWithAge:20 andWithNo:1] autorelease]; //自动释放 NSLog(@"this student age=%i,and no=%i",[student age],[student no]); NSLog(@"age=%i,no=%i",student.age,student.no); NSLog(@"%@",student);//打印内存地址 //[student release];//防止内存泄漏,要释放该对象内存 } return 0; }

结果:

2013-08-02 15:55:34.918 @property[1396:303] this student age=20,and no=1

2013-08-02 15:55:34.919 @property[1396:303] age=20,no=1

2013-08-02 15:55:34.920 @property[1396:303] <Student: 0x100109970>

本文转自蓬莱仙羽51CTO博客,原文链接:http://blog.51cto.com/dingxiaowei/1366475,如需转载请自行联系原作者

你可能感兴趣的文章
libjpeg的问题
查看>>
Ubuntu+Apache+PHP+Mysql环境搭建(完整版)
查看>>
深度学习笔记之CNN(卷积神经网络)基础
查看>>
ORACLE expdp备份与ORA-31693、ORA-02354、ORA-02149
查看>>
嵌入式 详解udev
查看>>
云安全:这也是需要花大钱去建设的部分
查看>>
5G网络不止能1秒下一部电影,它还能够…
查看>>
中国电信集采终端6700万部 金额达1070亿元
查看>>
2016年的十个数据中心故事
查看>>
《Java并发编程的艺术》一一3.3 顺序一致性
查看>>
《设计之外——比修图更重要的111件事》—第1部分3 虚心学习
查看>>
EVCache —— Netflix 的分布式内存数据存储
查看>>
《用友ERP-U8(8.72版)标准财务模拟实训》——1.4 系统管理注册和导入演示账套...
查看>>
springboot docker笔记
查看>>
Modbus RTU 通信工具设计
查看>>
服务化改造实践 | 如何在 Dubbo 中支持 REST
查看>>
【第8章】JVM内存管理
查看>>
ovirt官方安装文档 附录G
查看>>
磁盘故障小案例
查看>>
HTML
查看>>