iOS中_和self.的区别

通过self.xxx访问的方法包括:set和get方法。但是使用_只是获取了自己的实例变量,并没有包含set get方法。在ios5之后,在默认情况下编译器会帮助我们生成,首先它会去当前类中查找用户是否定义的set 、get方法,如果定义了的话,编译器就会自动跳过,然后去执行用户自定义的方法。当然使用self.xxx 的时候就是调用一个getter方法。会使得引用技术加一,但是使用“下划线”的话不会使引用技术加一。

因此使用self.xxx是更好的选择,因为这样可以兼容懒加载,同时可以避免使用下划线时候忽略了self这个指针。当使用下划线时,容易在Block中造成循环引用,并且使用下划线获取不到父类的属性,因为它只是对局部变量的访问。

总结:使用self.xxx相当于间接调用了set、get方法,而使用下划线是对变量的操作。


纯属个人笔记:摘抄至我真的真的是文艺青年 

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 重点掌握 3 类对象和方法 对象就是一个物体 类的独特存在就是一个实例,对实例进行操作叫做方法。方法可以应用于类或...
    Coder大雄阅读 1,290评论 0 2
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,253评论 19 139
  • 一、忠诚——忠心者不被解雇 单位可能开除有能力的员工,但对一个忠心耿耿的人,不会有领导愿意让他走,他会成为单位这个...
    晴空依然阅读 648评论 0 1
  • 总是时刻保持着优雅与骄傲,因为自己并不差,所以我依旧保持着骄傲优雅准备迎接一切美好的人与事。 其实,人呢,总是不停...
    孤独成瘾miao阅读 349评论 0 0
  • 每个人心里都有一个对你来说是难搞的恶魔,一味地逃避也没什么鸟用,唯一的办法就是面对他,对抗他,从而获取真正的力量,...
    丹茞茞阅读 173评论 0 0