- #import "Person.h"
- @implementation Person
- //在保留父类原有方法中的所有操作的前题下,加上自已独有的操作.--->重写父类的init方法
- -(id)init{
- /*
- self= [super init];
- //如果super init 没有执行成功或正确执行,则无法返回一个正确的对象,那么此时会返回0(nil);
- //nil==0;
- if(self!=nil){
- _age=1;
- _name=@"八戒";
- }
- */
- //0为假,非0数都为真.假如super init失败了,则返回0,self=0;为假,不执行.
- //如果super init执行成功了,会返回一个指针,那个值赋值给self=0x123abc(假设值);则,self是一个非0数,为真执行自定义属性赋值操作
- //注意:下面是赋值.判断原理是:非0数为真,0为假.
- if(self= [super init]){
- _age=1;
- _name=@"八戒";
- }
-
- return self;
- }
- @end
复制代码
[super init]意为调用父类中init方法.初始化一个对象,初始化失败意为调用方法不成功,
问一:为什么会调用失败呢?
如果调用失败,[super init]返回nil ,nil相当于0,
问二:nil是啥意思?
|
|