【发布时间】:2012-02-24 21:01:58
【问题描述】:
这是正确的,当 ViewController 在其方法中创建另一个 ViewController 时(比如说 viewDidLoad 或 viewWillAppear)?
在我的例子中 - 我有一个视图 A,它包含其他几个视图 - B 和 C,它们本身就非常复杂,因此为它们设计了特殊的视图控制器 vcB 和 vcC,这些视图控制器是在 vcA 视图中创建的视图 A 的控制器。
这样好吗?例如,如果 vcA 将自己设置为 vcB 的代理会怎样。这意味着,vcB 将保留 vcA。在这种情况下,为了正确释放所有对象,我们需要在某个地方将 vcB 的委托设置为 nil,但是这样做的最佳时机是什么? viewWillDisappear:、viewDidDisappear: 或其他。别的?
我确信这不是唯一出现问题的情况,所以我正在寻找您的意见,如何正确设计视图控制器之间的此类交互。
【问题讨论】:
标签: ios cocoa-touch uiviewcontroller cocoa-design-patterns