黑马程序员技术交流社区
标题:
objective-c中if(self=[super init])
[打印本页]
作者:
葛先生
时间:
2015-3-24 23:55
标题:
objective-c中if(self=[super init])
这句话是中=两侧是赋值还是等于啊?个人认为是等于就好理解了。但是赋值的话就一头雾水了
作者:
一步一个脚印
时间:
2015-3-25 00:10
=是一种操作符,意思是赋值。==是比较操作符,如果2侧的数据相等,就返回真(1),如果不相等就返回假(1)。self=[super init],表示调用父类的初始化方法,调用完毕后,返回一个已经初始化到直接父类的内存空间或者说对象,然后赋值给本类对象的实例(self),如果【super init】执行不成功,会返回nil,nil赋值给self,这个时候self=nil,这个表达式的值为左值即self的值,为nil。所以if()就执行不了。
作者:
tzp123
时间:
2015-3-25 00:17
回答好专业
作者:
佩玉鸣
时间:
2015-3-25 00:26
同学习了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2