黑马程序员技术交流社区
标题:
self=[super init] 是什么意思
[打印本页]
作者:
gzf201314
时间:
2015-1-21 08:48
标题:
self=[super init] 是什么意思
本帖最后由 gzf201314 于 2015-1-21 21:52 编辑
self=[super init] 这个东西它是赋值还是?
作者:
枫煠
时间:
2015-1-21 09:52
要看你的self是继承谁
如果是继承NSObject你的super就是NSObject,
因为self一开始都是nil,
必须先赋值给它,
而每一个不管是Foundation还是UIKit的物件,都有init的方法
所以self=[super init]
是赋给他父类别的值
作者:
〆﹏、结局ゞ
时间:
2015-1-21 10:54
=号就是赋值
作者:
勋少
时间:
2015-1-21 13:31
个人愚见
init : 初始化对象,其实就是一个对象方法。
super : 直接调用父类的方法
self : 代表当前调用此方法的对象或类
这句出现在重写init方法中。重写构造方法的目的:为了让对象创建出来,成员变量就会有一些固定的值。
self = [super init]; 首先调用父类的init构造方法,将对象内的成员变量和其它属性进行初始化,然后赋给self当前代表的对象。初始化成功就相当于此对象内部拥有了成员变量和其它属性,拥有了成员变量你才可以对成员变量进行赋值。从而达到重写构造方法的目的。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2