【发布时间】:2012-05-08 11:01:11
【问题描述】:
我是 Xcode 4 的新手。
最近我正在调试一个 Objective C 程序。我写了一个这样的函数:
-(void) func{
NSAutoreleasePool *pool=[[NSAutoreleasePool alloc] init];
Product *product=(Product *)[appDelegate.productData objectAtIndex:0];
NSLog(product.Name);
[product release];
[pool release];
}
好笑的是,我已经添加了产品发布(因为我在早期调试时没有意识到池发布代码...)
当我运行程序时,它会因 EXC_BAD_ACCESS 而停止。
在我删除产品版本后,它可以正常运行。
我真的不知道产品对象最后是否发布。
而且我不确定这是创建 EXC_BAD_ACCESS 的要点。
所以我想问这个问题以确保一切。这会造成错误吗?
【问题讨论】:
标签: objective-c release nsautoreleasepool