【发布时间】:2011-03-09 06:05:19
【问题描述】:
我有以下场景:
在 vcA 中(当用户点击 UI 中的按钮时):
- 使用 NIB 文件实例化 vcB -(当用户点击 UI 中的按钮时)
- 在 vcB 中初始化 iVar
- 使用 presentModalViewController 呈现 vcB
- 在 vcB 的 viewDidLoad 中命中断点
- 在加载来自 vcB 的视图之前,调用 vcA 的 viewWillDisappear(我通过 NSLog 语句看到它)
- 加载了来自 vcB 的视图
- 显示其 iVar 的正确值(在 vcA 中设置)
- 用dismissModalViewController 关闭vcB
回到vcA的观点——
重复该过程(模拟用户在 UI 中点击相同按钮的操作):
- 用 NIB 文件实例化 vcB
- 改变vcB中iVar的值
- 使用 presentModalViewController 呈现 vcB
- 这一次,vcB的viewDidLoad中的断点没有命中
- 在加载来自vcB的视图之前,这次也调用了vcA的viewWillDisappear
- 加载了来自 vcB 的视图
- 显示其 iVar 的错误值(它是之前的值)
所以,我很困惑。
- 为什么调用vcA的viewWillDisappear?什么情况下才被调用?
- 为什么第二次没有调用vcB的viewDidLoad?我应该改用“addSubview”吗?
在此先感谢....萨姆。
【问题讨论】:
-
你不必道歉。只需学习如何使用标记!
-
您可以编辑,尤其是为了提高清晰度、修复错误等。
标签: ios objective-c