【发布时间】:2013-04-13 01:53:43
【问题描述】:
我在阅读了一些类似的帖子后在这里发帖,但你知道每个问题仍然有他自己的特定问题,这就是为什么我仍然需要你的帮助。
我的应用程序因此堆栈跟踪而崩溃:
[ReviewVC respondsToSelector:]: message sent to deallocated instance
我在试图查看导致崩溃的相关代码的仪器上跟踪了这一点:
这里是didSelectRowAtIndexPath:委托方法中ReviewVC的相关代码:
self.reviewVC = [[[ReviewVC alloc] initWithNibName:@"Review"
bundle:nil] autorelease];
[viewControllerArray addObject:self.reviewVC];
self.appDelegate.splitViewController.delegate = self.reviewVC;
reviewVC 是一个实例变量和一个属性,这里是它的属性声明:
@property (nonatomic, retain) ReviewVC *reviewVC;
我错过了什么吗?
【问题讨论】:
-
你有@synthesize 吗?如果你省略了自动释放怎么办?
-
是的,它是
@synthesize'd -
self.reviewVC 有没有设置好?设置断点并查看 ReviewVC 分配返回的内容。也许尝试使用 [NSBundle mainBundle] loadNibNamed:] 来检索它。
-
我试图删除
autorelease命令,现在一切正常,如果可能的话仍然需要一些解释:) -
viewControllerArray 的用途是什么?您要添加 reviewVC,然后呢?运行时可能检测到您不再使用(分配委托不算数)。我认为 reviewVC 在那个方法之后已经消失了。
标签: ios memory-management