IOS property属性

原子性
访问权限
内存管理
方法命名
结论
1、原子性
(1)atomic
原子性,可以理解成就是生成getter、setter方法时,编译器会自动为程序添加同步锁,减少因为在不同的线程中同时对同一个内存地址进行读写操作,而产生的二意性、数据混乱的情况。
但同步锁也不能一定保证能完全阻止同时读写的情况发生,而且同步锁会耗费较多资源,降低程序的效率,因此不建议使用,但atomic是默认的特性。
(2)nonatomic
非原子性,也就是不添加同步锁,读写效率会高,但需要开发人员注意同时读写的情况,可以使用gcd的栏栅和同步方法来保证。
2、访问权限
(1)readWrite
生成getter、setter方法,并生成实例变量指针,但对于静态库类是无法修改的,所以即使能进入头文件也无法修改。
(2)readOnly
只生成getter方法,可以用于数据保护,在interface中把属性声明了readOnly,在continue-class中再把属性声明为readWrite,就能实现私有属性的效果,从而有更好的封装特性,但其实通过KVC
依然可以从外部修改属性,但不建议这样使用。
3、内存管理
(1)strong:strong是推出ARC自动计数后后添加的属性,效果与retain基本一致,都是在setter方法中,对旧数值release,对新数值retain。
(2)retain与strong基本一致
(3)assign:简单赋值操作,通常针对普通类型,既不release,也不retain
(4)copy:能更好实现上下文环境保护。对旧值release,对新值进行copy操作,immutable+copy = 不可变浅复制,mutable+copy = 不可变深复制。
(5)weak:weak特性,并不会持有对象,当指向对象的指针全撤销后,对象释放,指针置nil,这常用于block的保留环
(6)unsafe_unretained:不会持有对象,但引用对象,对象释放后,会产生野指针,主要用于兼容以前的方法。
4、方法命名
(1)getter = <name>
属性生成的默认getter方法名:属性名
(2)setter = <name>
属性生成的默认getter方法名:set+属性名
5、结论
属性不是随便填写的,需要严格根据该属性在程序中的作用,再选择。
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
# IOS
# property属性
# property属性详解
# property属性介绍
# 详解iOS中UIButton的三大UIEdgeInsets属性用法
# IOS 贝塞尔曲线(UIBezierPath)属性、方法整理
# iOS App开发中导航栏的创建及基本属性设置教程
# iOS开发笔记--详解UILabel的相关属性设置
# iOS开发中一些手写控件及其相关属性的使用
# iOS UIView常见属性方法小结
# 关于iOS中属性变量setter与getter方法的理解
# iOS 对象属性详细介绍
# 关于iOS获取属性你真的了解吗?
# 访问权限
# 内存管理
# 也不
# 是在
# 就能
# 希望能
# 较多
# 可以使用
# 谢谢大家
# 但不
# 主要用于
# 再把
# 既不
# 方法来
# 开发人员
# 中把
# 头文件
# 变浅
# readWrite
# readOnly
相关文章:
如何在腾讯云免费申请建站?
建站之星后台密码遗忘?如何快速找回?
常州自助建站工具推荐:低成本搭建与模板选择技巧
建站主机选购指南:核心配置与性价比推荐解析
制作假网页,招聘网的薪资待遇,会有靠谱的吗?一面试又各种折扣?
建站之星代理商如何保障技术支持与售后服务?
c# await 一个已经完成的Task会发生什么
制作网站软件推荐手机版,如何制作属于自己的手机网站app应用?
网站制作企业,网站的banner和导航栏是指什么?
如何在云主机上快速搭建网站?
如何在景安服务器上快速搭建个人网站?
如何通过IIS搭建网站并配置访问权限?
建站之星ASP如何实现CMS高效搭建与安全管理?
建站主机是否属于云主机类型?
c++怎么编写动态链接库dll_c++ __declspec(dllexport)导出与调用【方法】
深圳网站制作费用多少钱,读秀,深圳文献港这样的网站很多只提供网上试读,但有些人只要提供试读的文章就能全篇下载,这个是怎么弄的?
武清网站制作公司,天津武清个人营业执照注销查询系统网站?
北京网站制作网页,网站升级改版需要多久?
如何用虚拟主机快速搭建网站?详细步骤解析
如何通过VPS建站无需域名直接访问?
图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?
香港服务器部署网站为何提示未备案?
北京制作网站的公司,北京铁路集团官方网站?
建站之星CMS建站配置指南:模板选择与SEO优化技巧
如何在IIS7中新建站点?详细步骤解析
C++用Dijkstra(迪杰斯特拉)算法求最短路径
已有域名建站全流程解析:网站搭建步骤与建站工具选择
如何快速生成高效建站系统源代码?
如何基于云服务器快速搭建个人网站?
宁波免费建站如何选择可靠模板与平台?
c++怎么使用类型萃取type_traits_c++ 模板元编程类型判断【方法】
如何通过PHP快速构建高效问答网站功能?
如何用PHP快速搭建高效网站?分步指南
学校为何禁止电信移动建设网站?
如何规划企业建站流程的关键步骤?
香港服务器建站指南:外贸独立站搭建与跨境电商配置流程
如何高效利用200m空间完成建站?
Python多线程使用规范_线程安全解析【教程】
制作ppt免费网站有哪些,有哪些比较好的ppt模板下载网站?
威客平台建站流程解析:高效搭建教程与设计优化方案
电商网站制作多少钱一个,电子商务公司的网站制作费用计入什么科目?
如何获取免费开源的自助建站系统源码?
如何在IIS7上新建站点并设置安全权限?
家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?
济南专业网站制作公司,济南信息工程学校怎么样?
宝塔Windows建站如何避免显示默认IIS页面?
建站之星后台搭建步骤解析:模板选择与产品管理实操指南
香港服务器网站生成指南:免费资源整合与高速稳定配置方案
如何通过NAT技术实现内网高效建站?
枣阳网站制作,阳新火车站打的到仙岛湖多少钱?
*请认真填写需求信息,我们会在24小时内与您取得联系。