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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© gzf201314 中级黑马   /  2015-1-21 08:48  /  1355 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 gzf201314 于 2015-1-21 21:52 编辑

self=[super init] 这个东西它是赋值还是?

3 个回复

倒序浏览
要看你的self是继承谁
如果是继承NSObject你的super就是NSObject,

因为self一开始都是nil,
必须先赋值给它,
而每一个不管是Foundation还是UIKit的物件,都有init的方法
所以self=[super init]
是赋给他父类别的值
回复 使用道具 举报 1 0
=号就是赋值
回复 使用道具 举报
个人愚见
init : 初始化对象,其实就是一个对象方法。
super : 直接调用父类的方法
self : 代表当前调用此方法的对象或类
这句出现在重写init方法中。重写构造方法的目的:为了让对象创建出来,成员变量就会有一些固定的值。
self = [super init]; 首先调用父类的init构造方法,将对象内的成员变量和其它属性进行初始化,然后赋给self当前代表的对象。初始化成功就相当于此对象内部拥有了成员变量和其它属性,拥有了成员变量你才可以对成员变量进行赋值。从而达到重写构造方法的目的。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马