全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

IOS property属性详细介绍使用注意事项

IOS property属性

原子性

  • atomic
  • nonatomic

访问权限

  • readWrite
  • readOnly

内存管理

  • strong
  • retain
  • copy
  • assign
  • weak
  • unsafe_unretained

方法命名

  • getter = <name>
  • setter = <name>

结论

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 


相关文章: 网站制作服务平台,有什么网站可以发布本地服务信息?  家庭建站与云服务器建站,如何选择更优?  建站之星×万网:智能建站系统+自助建站平台一键生成  建站之星安装提示数据库无法连接如何解决?  移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?  如何快速查询网站的真实建站时间?  Android使用GridView实现日历的简单功能  建站VPS推荐:2025年高性能服务器配置指南  岳西云建站教程与模板下载_一站式快速建站系统操作指南  赚钱网站制作软件,建一个网站怎样才能赚钱?是如何盈利的?  企业微网站怎么做,公司网站和公众号有什么区别?  建站之星代理如何优化在线客服效率?  大同网页,大同瑞慈医院官网?  宝塔面板创建网站无法访问?如何快速排查修复?  简历在线制作网站免费版,如何创建个人简历?  建站之星导航如何优化提升用户体验?  国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?  c++23 std::expected怎么用 c++优雅处理函数错误返回【详解】  新网站制作渠道有哪些,跪求一个无线渠道比较强的小说网站,我要发表小说?  安徽网站建设与外贸建站服务专业定制方案  早安海报制作网站推荐大全,企业早安海报怎么每天更换?  名字制作网站免费,所有小说网站的名字?  微信h5制作网站有哪些,免费微信H5页面制作工具?  如何通过VPS建站无需域名直接访问?  如何正确下载安装西数主机建站助手?  邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?  哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?  建站之星3.0如何解决常见操作问题?  已有域名建站全流程解析:网站搭建步骤与建站工具选择  盐城做公司网站,江苏电子版退休证办理流程?  如何通过IIS搭建网站并配置访问权限?  如何选择CMS系统实现快速建站与SEO优化?  头像制作网站在线制作软件,dw网页背景图像怎么设置?  如何快速建站并高效导出源代码?  湖南网站制作公司,湖南上善若水科技有限公司做什么的?  建站主机选虚拟主机还是云服务器更好?  如何快速生成可下载的建站源码工具?  建站之星在线版空间:自助建站+智能模板一键生成方案  如何高效配置香港服务器实现快速建站?  如何通过虚拟机搭建网站?详细步骤解析  建站之星ASP如何实现CMS高效搭建与安全管理?  在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?  山东网站制作公司有哪些,山东大源集团官网?  如何通过西部数码建站助手快速创建专业网站?  长沙做网站要多少钱,长沙国安网络怎么样?  移民网站制作流程,怎么看加拿大移民官网?  C++中的Pimpl idiom是什么,有什么好处?(隐藏实现)  建站之星后台密码遗忘或太弱?如何重置与强化?  建站之星如何实现PC+手机+微信网站五合一建站?  微信小程序 input输入框控件详解及实例(多种示例) 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。