调用[[.. alloc] init时丢失对象

时间:2011-01-21 21:58:33

标签: objective-c

调用alloc / init时遇到一个奇怪的问题:

我打电话的时候:

Card *card = [[Card alloc] init];
return card; //here debugger reports that card is an NSMutableArray*, not a Card*

但是,如果我打电话:

Card *card = [Card alloc];
[card init];
return card; //here debugger reports that card is Card*

卡被声明为

@interface Card : NSObject { ...

我在代码中遇到了与其他对象分配完全相同的模式。就好像对象在返回之前被释放,或者堆栈被踩到了。

我知道我应该一起使用alloc / init,但是遇到了这个问题。

1 个答案:

答案 0 :(得分:3)

您的init函数是否返回self?我的猜测是,它不是,这可能是你的问题。