我的一个UIViewController
有几个子视图控制器。它们是在界面构建器中构建的,通过将一个拖到NSObject
左侧的“对象”部分,然后放入我自己SpecialViewController
的“自定义类”中。通过此设置,viewDidLoad
我将准备好视图和控制器。以下屏幕截图建议了工作流程:
在我的实现中,我有:
@interface ParentController : UIViewController
{
SpecialViewController *svc;
}
@property (nonatomic, retain) IBOutlet SpecialViewController *svc;
据我了解,在此期间didReceiveMemoryWarning
我应该释放自己的资源。然后IBOutlets
在viewDidUnload
.
我在模拟器中模拟低内存时崩溃,调试器在didReceiveMemoryWarning
of SpecialViewController
(其主体只是[super didReceiveMemoryWarning];
)处暂停,并出现错误EXC_BAD_ACCESS (code=1, address=0xe0000008)
。此时,父控制器是不可见的,因此可以安全地释放它。
父控制器也只包含[super didReceiveMemoryWarning];
在didReceiveMemoryWarning
. 我IBOutlets
在这两个课程中都尝试过 niling。它没有帮助。
知道为什么会这样吗?
我的目标是带有 ARC 的 iOS 4 和 5。SpecialViewController
是 的子类UITableViewController
。
通过追踪,发现ParentController didReceiveMemoryWarning
是之前调用的SpecialViewController
。