- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Objectcproperty的使用方法
@property(nonatomic,retain) NSString *aString;
property:属性的定义,相当于C语言的setter和getter方法。
assign:简单的赋值,不更改索引的计数。
copy:建议一个索引计数为1的对象,然后释放旧对象;
retain:释放旧对象,将旧对象的值赋予新对象,再增加新对象的索引计数1。
?
针对具体的数据类型在属性定义应该这样选择:
使用assign:对基础的数据类型,比如NSInterger,CGFloat和C数据类型(int,float,double,char等等)。
使用copy:针对NSString;
使用retain:针对NSObject及其子类。
使用nonatomic:单线程,防止在写未完成的时候被另外一个线程读取,造成数据读取出错。
使用release:基于一般的初始化,使用alloc和init关键词初始化的,要在恰当的地方release掉,全局变量在dealloc方法里面release,常规变量在不需要的时候就要释放掉。
简介: property组合了新的预编译指令和新的属性访问器语法。
1、@property 表示声明了对象的一个属性。例如: @property float smsHandling; 表示某个类的对象具有了一个float类型的名为smsHandling的属性。
property自动生成了 -setsmsHandling 和 -getsmsHandling两个方法来操作属性.
2、@synthesize 表示创建该属性的访问器(Ps:?-setsmsHandling 和 -getsmsHandling两个方法是在这句存在的情况下才开始由编译器输出的).
3、property支持点访问,比如:(假设拥有上面属性的类为A)A.smsHandling = 0.3 ;
4、property的扩展功能:(以上介绍的是property的基本用法)
? ? ?我们还可以生命具有其他属性的@property,用来表达我们希望特性具有某种行为的确切意愿。
? ? ?@property (copy) NSString * name;//通过想name这个属性添加copy的方法,使编译器和类的使用者知道name对象将被复制。
? ? ?关于属性的括号内的扩展支持如下:
? ? ?
1,getter=getterName,setter=setterName,设置setter与getter
?
的方法名
? ? ?2,readwrite,readonly,设置可供访问级
?
? ? ?
? ? ?2,assign,setter方法直接赋值,不进行任何retain操作,为了解决原类型与环循引用问题
? ? ?3,retain,setter方法对参数进行release旧值再retain新值,所有实现都是这个顺序(CC上有相关资料)
? ? ?4,copy,?setter方法进行Copy操作, 与retain处理流程一样, 先旧值release,?再Copy出新的对象,?retainCount为1.?这是为了减少对上下文的依赖而引入的机制.
? ? ?5,nonatomic,?非原子性访问, 不加同步, 多线程并发访问会提高性能. 注意, 如果不加此属性, 则默认是两个访问方法都为原子型事务访问. 锁被加到所属对象
? ? ?以上的使用方式:
使用assign: 对基础数据类型 (NSInteger,CGFloat)和C数据类型(int, float, double, char, 等等)
使用copy: 对NSString
使用retain: 对其他NSObject和其子类
? ? ?注:
retain的实际语法为:
- (void)setName:(NSString *)newName {
if (name != newName) {
[name release];
name = [newName retain];
// name’s retain count has been bumped up by 1
}
}
什么是property?是一种代码生成机制,能够生成不同类型的getter/setter函数,特别是如果你想要用点(.)操作符号来存取变量的话,你就能必须使用property。如何使用?用法是固定的,注意下property后面小括号了跟的参数列表,nonatomic代表非原子性,既不支持多线程的同步,mac上可以根据具体情况考虑, HYPERLINK / \t _blank IPhone上就加上把,retain代表对setter的对象加上一个retain操作,同时也会releas
您可能关注的文档
- 9个着名的管理法则.doc
- 99血栓无症状如何饮食防病.doc
- 9交通工程论文发表浅谈我国城市流通空间的规划设计.doc
- 8种护肤成分缓解肌肤问题.doc
- 95例热性惊厥患儿的转归及预后分析.doc
- 9种常见疾病的体位疗法(含做法).docx
- 9种白发克星帮你预防头发变白.doc
- 9种食品有助抵抗抑郁.doc
- 98例胸腔积液的病因分析.doc
- 9要追求有质量效益的速度.doc
- 基于人工智能教育平台的移动应用开发,探讨跨平台兼容性影响因素及优化策略教学研究课题报告.docx
- 高中生物实验:城市热岛效应对城市生态系统服务功能的影响机制教学研究课题报告.docx
- 信息技术行业信息安全法律法规研究及政策建议教学研究课题报告.docx
- 人工智能视角下区域教育评价改革:利益相关者互动与政策支持研究教学研究课题报告.docx
- 6 《垃圾填埋场渗滤液处理与土地资源化利用研究》教学研究课题报告.docx
- 小学音乐与美术教师跨学科协作模式构建:人工智能技术助力教学创新教学研究课题报告.docx
- 《航空航天3D打印技术对航空器装配工艺的创新与效率提升》教学研究课题报告.docx
- 教育扶贫精准化策略研究:人工智能技术在区域教育中的应用与创新教学研究课题报告.docx
- 《区块链技术在电子政务电子档案管理中的数据完整性保障与优化》教学研究课题报告.docx
- 《中医护理情志疗法对癌症患者心理状态和生活质量提升的长期追踪研究》教学研究课题报告.docx
最近下载
- VAV-空调系统运行中的问题分析和改造的研究.pdf VIP
- 液冷盲插快接头发展研究报告 2025.pdf
- 《高速公路基础设施数字化建设数据标准》.pdf VIP
- DB21T 1388-2005 风沙半干旱地区花生节水高产优质栽培技术规程.pdf VIP
- 九江卫生系统招聘2022年考试真题及答案解析六1.docx VIP
- 九江2022年卫生系统招聘考试真题及答案解析一_1.docx VIP
- 2025年榆林能源集团有限公司招聘工作人员笔试真题及答案.docx VIP
- GB_T 18879-2020 滑道通用技术条件.docx VIP
- 鼻出血急救与护理.pptx
- 《医疗机构消防安全管理九项规定》考核试题.pdf VIP
文档评论(0)