【发布时间】:2011-12-13 14:55:43
【问题描述】:
我致力于扑克牌类的实现,并创建了以下方法:
+ (id)cardWithCard:(Card *)newCard
{
Card *card = [[[Card alloc] initWithCard:newCard] autorelease];
return card;
}
我在这里使用自动释放方法,否则 Product->Analyze 会警告我潜在的泄漏。一切正常,直到变量 myCard(之前分配的)被分配了一个新值,如下所示:myCard = [Card cardWithCard:newCard] 被作为参数发送到不同的方法。原来它在那里被释放,我的应用程序崩溃了。
我应该如何解决这个问题?尽管有分析的警告,但仍要取消自动释放方法?
【问题讨论】:
标签: objective-c memory-management autorelease