调用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,但是遇到了这个问题。
答案 0 :(得分:3)
您的init
函数是否返回self
?我的猜测是,它不是,这可能是你的问题。