IOS 杂笔-4(属性与成员变量的区别)
2024-08-23 15:42:57
属性可以用点语法,比如self.xxx,在外部调用也同样可以someClass.xxx。
属性实际上是对一组set和get方法的简单封装(oc的get方法没有get前缀),同样会自动生成一个私有的成员变量(名称为:下划线+属性名)。
成员变量无论是全局还是局部的,都只能在本类或当前函数中使用,在其之外的地方无法直接调用(可以通过间接的方式调用)。
在本类使用时,属性self.xxx会给私有的_xxx变量增加一次引用计数,相当于多retain了一次。如果不使用ARC,分别给普通变量和属性赋值,打印一下引用计数你就明白了。如果你使用ARC,完全不需要考虑引用计数相关的东西。
总而言之,如果你当前类需要被外部调用,而且需要方便访问某个变量,那就应该把这个变量设为属性。如果只是在类内部使用,使用普通变量和使用属性没有任何区别,就看个人习惯了。
最新文章
- [开发笔记] Graph Databases on developing
- NXP恩智浦P89V51RB2/RC2/RD2单片机解密芯片破解方法!
- SqlServer时间戳与普通格式的转换
- 数据结构Java实现06----中缀表达式转换为后缀表达式
- 重构笔记---MEF框架(下)
- android学习笔记37——Menu资源
- ruby 字符串学习2
- dancing link
- foreach中引用 的问题
- 我的VSTO之路(五):Outlook初步开发之联系人扩展
- 【转】Gedit中文乱码
- win10系统 Visual Studio 2013 Color Theme Editor插件 安装出错
- C#进程管理程序实现
- MySQL 二进制日志过滤
- 创建简单的MVC项目
- 何为代理?jdk动态代理与cglib代理、spring Aop代理原理浅析
- XRD 数据处理:使用 Origin 进行多谱图对比
- 2810:完美立方-poj
- 使用Spring表达式语言进行装备--SpEL
- mybatis学习 -每天一记 mybatis insert null 报错