美文网首页
if(self=[super init]) 为什么加if

if(self=[super init]) 为什么加if

作者: 兰章海晏 | 来源:发表于2016-08-01 16:48 被阅读18次

if(self=[super init])为什么不用“==”而用“=”:

这里不是判断self与[super init]是否相等,而是判断是否可以成功初始化。 [super init]:父类初始化成功的话,通过=给self,这样self成为一个非空对象,整个来说即非false(非NO)。 于是也就变成了: if ( !false ){ //成功初始化后执行的代码 }   如果init失败 self则为空 if条件为假 于是if段内语句不执行

相关文章

网友评论

      本文标题:if(self=[super init]) 为什么加if

      本文链接:https://www.haomeiwen.com/subject/ltzxsttx.html