黑马程序员技术交流社区

标题: 关于OC中的self和super的疑惑 [打印本页]

作者: TonyScript    时间: 2015-9-4 16:38
标题: 关于OC中的self和super的疑惑
最近学到OC中的类,遇到了一段代码,不是很理解,在网上搜了一圈,很多人都觉得这是一段很简单的代码,甚至很多人都敲烂了以至于闭着眼睛就能敲出来。不过我倒不觉得这样就是厉害了,
研究技术就要在不疑处有疑,才能更有收获。下面贴出这段代码:
  1. - (id)init
  2. {
  3.     self = [super init];
  4.     if(self)
  5.     {
  6.         //进行初始化
  7.     }
  8.     return self;
  9. }
复制代码

在这里提出几点疑问,希望有人能够解答我的疑惑:
1.self是什么?super是什么?

2.[super init]做了哪些操作?
3.为什么又要self = [super init]?

作者: TonyScript    时间: 2015-9-5 17:55
今天看到老师Keynote里面有这一段内容 ,截图过来,希望对大家有所启发

Snip20150905_18.png (249.85 KB, 下载次数: 2)

Snip20150905_18.png

作者: TonyScript    时间: 2015-9-5 18:15
这些疑问都可以被下面这张图释然,看来还是书读得太少啊哈哈

重载构造方法(id).png (340.64 KB, 下载次数: 2)

重载构造方法(id).png

作者: 驴小叔    时间: 2015-9-5 21:32
好高端啊




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2