OC基础第八讲:属性 和点语法
来源:互联网 发布:淘宝衣服网 编辑:程序博客网 时间:2024/06/05 18:27
/**************** OC第八讲 属性 ******************/
/**************** 属性介绍 ******************/
//属性是OC 2.0之后出现的语法,为实例变量提供了setter,getter方法的默认实现
//属性的出现简化了程序的代码量,也增加了实例变量访问的安全
/**************** 属性的属性 ******************/
//给属性提供一些关键字,用来控制setter和getter方法的实现细节,这些关键字我们称为属性的属性,属性(attribute)共分为三类:
/*
diyilei:
读写性的控制(readonly, readwrite, setter, getter)
readonly:告诉编译器,只声明getter方法,而没有setter(只能被读取,不能被修改)
readwrite:告诉编译器,既声明getter方法,又声明setter
readwrite是属性读写控制性的 默认修饰词
第二类:
原子性的控制:atomic,nonatomic
atomic:setter和getter方法在多线程中访问是安全的,即系统在setter和getter方法中做了很多多线程安全的处理操作。atomic是原子性控制的默认设置。
nonatomic:setter和getter内部不会做过多的多线程方法面的处理,仅仅是普通的setter和getter方法
在开发过程中 setter和getter方法处处都在使用,如果使用atomic修饰,setter和getter方法内部会做很多多线程安全的操作,会占用较多系统资源,降低系统性能,所以在平常开发性能中,原子性一般设置为atomic,只有在需要线程安全的地方才使用atomic
第三类:
语义设置:(assign,retain,copy)
assign:setter内部实现是直接赋值
retain: setter内部实现会对内存进行优化
如果属性是非对象类型(int,float或者构造类型:结构体等)属性的语义设置用assign
如果属性是对象类型(NSString,NSArray等)属性的语义设置用retain
带*的属性,语义设置用retain
不带*的设置,语义设置用assign
如果属性是对象类型并且想得到参数的copy,使用copy关键字
*/
/**************** 点语法 ******************/
//练习3:使用点语法对teacher类和student类进行赋值取值
//点语法在等号左边是setter方法(赋值),在等号右边是getter方法(取值)
Student *qiao = [[Studentalloc]init];
qiao.name =@"乔";
NSLog(@"name = %@",qiao.name);
qiao.age = 21;
qiao.gender =@"男";
qiao.blood =@"A";
qiao.classname = 6;
qiao.stunum = 13055126;
qiao.hight = 175;
qiao.weight = 64.23;
qiao.schhol =@"XX理工";
qiao.inter =@"不知道这个单词是什么鬼";
qiao.grade = 3;
qiao.major =@"有一个什么鬼";
qiao.nation =@"中国";
qiao.seatnum = 32;
qiao.hometown =@"十三朝古都";
qiao.politic =@"再加一";
qiao.idcardnum = 410325;
qiao.posd =@"原谅我的孤陋寡闻";
qiao.colorofskin =@"孤陋寡闻加一";
qiao.score = 96;
qiao.vision = 666666;
- OC基础第八讲:属性 和点语法
- OC基础之-Property(属性)和点语法
- OC基础:属性.点语法.KVC
- iOSDay12之OC属性和点语法
- OC属性、点语法
- 第三讲:属性,点语法
- OC-----属性及点语法
- OC-属性setter和getter以及点语法(2)
- OC隐藏和封装-使用点语法访问属性
- OC基础DAY05 - 点语法和构造方法
- iOS开发之OC语法基础(三)--属性、点语法
- OC属性,点语法,内存管理小结
- IOS--OC--LessonProperty 属性 点语法
- OC基础教程7-属性、点语法
- OC第八天 属性 点语法 KVC
- OC初期-08 属性,点语法,KVC
- OC基础语法的一些注意点
- OC基础-类的点语法15
- OpenStack架构企业IT应用的敏捷实践
- extjs 上传文件或是图片后返回json解析错误
- 双向广度搜索 —— 拯救公主(一)
- xpath 模糊匹配 Selenium2Library 对象标识 强唯一性 ,iframe层选择
- 第十一周项目1验证算法(1)层次遍历算法的验证
- OC基础第八讲:属性 和点语法
- 深度学习在自然语言处理的应用
- HDU 5090 Game with Pearls
- iOS/OS X内存管理(一):基本概念与原理
- aop配置拦截器required type [***] for property 'myBean': no matching editors or conversion strategy found
- 第十周项目3利用二叉树遍历思想解决问题
- 安装包立减1M--微信Android资源混淆打包工具
- 移动应用开发者正饱受折磨
- 基于 PHP & MySQL 搭建OAuth Server