objective-c中if(self=[super init])什么意思
首先说下这里我非常糊涂,创建一个对象直接分配内存初始化不就ok了吗?干嘛还self还[superinit]?搞得我好晕,...
首先说下这里我非常糊涂,创建一个对象直接分配内存初始化不就ok了吗?干嘛还self 还[super init]? 搞得我好晕,
展开
3个回答
展开全部
可以这样理解
父类里面的成员变量初始化工作,可能就是放在[super init]里执行的.
如果你写的子类, 不写成 self = [super init]的话,
可能你在使用父类里的成员变量时,会是一个未被初始化的意外 的值 .
父类里面的成员变量初始化工作,可能就是放在[super init]里执行的.
如果你写的子类, 不写成 self = [super init]的话,
可能你在使用父类里的成员变量时,会是一个未被初始化的意外 的值 .
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
先调用父类的Init
方法,如果调用成功后,self指针会指向一个地址,if(self)表示如果self不是指的空地址,然后再执行其他一些自己的初始化
方法,如果调用成功后,self指针会指向一个地址,if(self)表示如果self不是指的空地址,然后再执行其他一些自己的初始化
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询