我有一个这样的构造函数:
-(id) init
{
// do something here...not sure what yet :)
}
我可以很好地实例化这个类的对象,但是我在这个类上调用方法时遇到错误。为什么会这样?我在这里想念什么?我应该调用超类构造函数吗?还是以某种方式存在内存问题?
谢谢!
我有一个这样的构造函数:
-(id) init
{
// do something here...not sure what yet :)
}
我可以很好地实例化这个类的对象,但是我在这个类上调用方法时遇到错误。为什么会这样?我在这里想念什么?我应该调用超类构造函数吗?还是以某种方式存在内存问题?
谢谢!
我在这里想念什么?
您缺少对超类的指定初始化程序的调用、对 的赋值self
和return
语句。
您的最小未完成构造函数应如下所示:
-(id) init
{
if (self=[super init]) {
// do something here...not sure what yet :)
}
return self;
}
你需要返回一些东西,通常是self,你指定你的方法返回类型(id)在objective-c中可以是任何东西,但你必须返回一些东西。
典型的初始化如下所示:
-(id) init
{
self = [super init];
if (self) {
// do something here...not sure what yet :)
}
return self;
}