【发布时间】:2011-08-08 11:03:14
【问题描述】:
我有一个静态表视图 (FirstViewController),有 3 行,每行在自己的部分中。前两个单元格中有 UITextFields,当用户点击它们或单元格时,它们是可编辑的。最后一个单元格有一个 UILabel,当点击它时会推送 SecondViewController,其中包含一个 UITextField。当用户按下时,UILabel 的值需要是 UITextField 的值。
如果我在设置为 FirstViewController 的 SecondViewController 上创建委托属性(分配),那么有什么保证 FirstViewController 仍将在内存中而不是空值?据我了解,一旦视图控制器不是最顶层的视图控制器(可见的),它就可以被释放。那么如果设备内存不足并释放 FirstViewController 会发生什么,那么当用户按下返回方法时将不会发送,因为 delegate 将为 nil,之后将创建一个新的 FirstViewController 实例并弹出到屏幕上,但没有收到来自 SecondViewController 的值。
我不想在 AppDelegate 中使用“全局”变量,因为我个人认为这有点混乱。
【问题讨论】:
标签: iphone objective-c memory-management delegates