我有自定义的视图层次结构。每个视图都保留其子视图。除了父母之外,没有其他人保留观点。当调用 dealloc for view 时,它调用 [children release]。当我想销毁视图并删除相关资源时,我调用:
[mainView release];
[resourceManager deleteRelatedResources];
大多数时候它运行良好,调用顺序是:
- 主视图释放;
- mainView 的孩子的 dealloc;
- mainView 的孙子的 dealloc 等。
- 删除相关资源
但有时(大约 1% 的时间)我有另一个订单:
- 主视图释放;
- 删除相关资源
- mainView 的孩子的 dealloc;
- mainView 的孙子的 dealloc 等;
我发现Apple 建议不要依赖 dealloc 的资源管理要求。是不是在[儿童释放]之后不能立即调用儿童观点的dealloc?有什么解决方法吗?(我的项目更改资源管理方案太过分了)。