当前位置:网站首页>使用self和_(下划线)的区别
使用self和_(下划线)的区别
2022-08-02 02:23:00 【~废弃回忆 �༄】
self.name和_named的区别,本质,那个会更好
本质
self.name是对属性的访问,是调用的name属性的getter/setter方法;
_name是对局部变量的访问,等价于self->name,并不会调用getter/setter方法;
使用那种方法会更好
推荐使用_xx的理由
1.在对象内部尽量直接访问实例变量;
2.不通过OC方法派发,速度更快;
推荐使用self.xx的理由
1.他可以兼容懒加载;
2.避免了使用下划线的时候忽视了self这个指针,例如self->_xx;
3._xx更容易造成循环引用;
4.使用_xx是获取不到父类的属性,因为他只是对局部变量的访问;
5.self.xx使用存在内存管理等优势,更加安全可靠.
总结
在写入实例变量的还是,使用self.xx 方式,通过其"设置方法"来设置;而在读取实例变量的时候,则使用_xx方式.此方法既能提高读取速度,又能保证相关属性的"内存管理".
边栏推荐
猜你喜欢

Nanoprobes多组氨酸 (His-) 标签标记:重组蛋白检测方案

记一个gorm初始化的坑

Win Go development kit installation configuration, GoLand configuration

Chopper webshell feature analysis

yaml

【LeetCode Daily Question】——704. Binary Search

IMU预积分的简单理解

面对职场“毕业”,PM&PMO应该如何从容的应对?如何跳槽能够大幅度升职加薪?

BI - SQL 丨 WHILE

A good book for newcomers to the workplace
随机推荐
51. 数字排列
2022-08-01 Reflection
ros多客户端请求服务
四元数、罗德里格斯公式、欧拉角、旋转矩阵推导和资料
53. 最小的k个数
【 wheeled odometer 】
leetcode / anagram in string - some permutation of s1 string is a substring of s2
¶ Backtop back to the top is not effective
Power button 1374. Generate each character string is an odd number
Win Go development kit installation configuration, GoLand configuration
ALCCIKERS Shane 20191114
789. 数的范围
永磁同步电机36问(二)——机械量与电物理量如何转化?
永磁同步电机36问(三)——SVPWM代码实现
LeetCode brushing diary: 33. Search and rotate sorted array
Nanoprobes丨1-巯基-(三甘醇)甲醚功能化金纳米颗粒
使用DBeaver进行mysql数据备份与恢复
考完PMP学什么?前方软考等着你~
TKU remembers a single-point QPS optimization (I wish ITEYE is finally back)
BioVendor人俱乐部细胞蛋白(CC16)Elisa试剂盒研究领域