oc中的 if(self=[super init])

来源:互联网 发布:域名真实ip 编辑:程序博客网 时间:2024/06/05 19:45

对父类初始化时

if(self=[super init]) 

语句颇有疑惑


故搜寻了一番,下面总结下各路牛人的答案:


这里不是判断self与[super init]是否相等(并不是 if(self=[super init])!),而是判断是否可以成功初始化。
[super init]:父类初始化成功的话,通过=给self,这样self成为一个非空对象,整个来说即非false(非NO)。
于是也就变成了:

if ( !false )

{
//成功初始化后执行的代码


如果init失败 self则为空 if条件为假 于是if段内语句不执行

0 0
原创粉丝点击