ios - 当从视图 A 切换到视图 B 时,A 的视图控制器会发生什么?
问题描述
我对此感到困惑。当我执行从视图 A 到视图 B 的 segue 时,似乎 A 的视图控制器没有被释放。
A 的视图控制器何时会在内存中释放?我仍然可以在 B 的视图控制器中访问 A 的视图控制器中的内容吗?
解决方案
ViewController A 将保留在内存中。
从技术上讲,您不应该从 ViewController A 访问内容。正确的方法是在 prepareForSegue 函数中从 ViewController A 传递 ViewController B 需要的任何内容。
在 ViewControllerA 中是这样的:
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if let viewControllerB = segue.destination as? ViewControllerB {
viewControllerB.content = "" //whatever data you want to pass
}
}
这是 Swift,您必须将其转换为 Objc。
推荐阅读
- javascript - 如何让我的
- 列表与我的背景图片重叠?
- angular - 基于 UserRole 的应用程序选项卡指令问题
- r - unlist 生成相同长度的向量
- html - 单击具有跨度类的按钮
- php - 如何加入多个表,其中一些(不是所有)列相同并返回每列的总和?
- javascript - 如何通过按散点图中的更新按钮来更改(过渡)每个圆的半径?
- mysql - 我如何破解这个 SQL Soccer Matches 作业?
- python - string.find 和 list.index 的 python 方法命名背后的基本原理
- neo4j - 如何为节点设置列表属性?
- async-await - 如何在 Svelte 的 {#await} 中使用 bind:this 时触发反应?