A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 云霄之上 中级黑马   /  2014-7-18 20:32  /  1604 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

self 好像有时候可以用有时候可一不用啊  因为不管是什么类型的成员变量 在自己的方法中都可以直接调用啊 完全用不到self 函数

5 个回复

正序浏览
很好用,但不能乱用。有时候可以减少代码之间的耦合性。自己体会下,那个视频里有讲。
回复 使用道具 举报
self是一个指针,指向调用方法的对象的指针。self主要是和点语法结合在一起使用,看到后面就知道了,点语法不会直接访问类变量本身,而是通过调用setter和getter方法来间接访问,通过这种方式可以用来控制线程安全,变量的可读可写属性、赋值时候采用的方式等等。
回复 使用道具 举报
no,在构造函数里面可以用到啊,学过java的人习惯用this,刚学oc会难以理解self的用法,记住,self跟点语法有关系,好好看看李明杰老师的视频,就回明白了,self,千万不要乱用,getter,setter方法里面不要用,会死循环
回复 使用道具 举报
第二句不赞同,当在.m文件中 重新声明一个@interface 在这个接口中创建新的成员变量,对原类扩充。这样的私有的成员变量你就不能用下划线成员变量来访问。
回复 使用道具 举报
self 作用还是很大的,怎么会用不到呢。比如子类调用父类方法的时候,可以把方法写成self形式的。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马