Mug*_*nth 0 iphone objective-c
我有一个名为ModelBase的基类,我有一个名为"Person"的派生类.现在在人的init方法中,我有类似的东西
-(Person*) init {
if(self = [super init])
return self;
return nil;
}
Run Code Online (Sandbox Code Playgroud)
然而,Objective C抱怨不兼容的Objective-C类型初始化'struct ModelBase*',期望'struct Person*'.我只是用[super init]初始化self,它正在初始化一个派生类的基类指针.
我错过了什么?
您是否声明要返回的ModelBase init方法(ModelBase*)?如果是这样,请将其更改为return(id).您会注意到Cocoa中的大多数初始值设定项返回(id)是出于这个原因.
代替
- (ModelBase*)init;
Run Code Online (Sandbox Code Playgroud)
你要
- (id)init;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
442 次 |
| 最近记录: |