gpt4 book ai didi

ios - autorelease 什么时候发布

转载 作者:行者123 更新时间:2023-11-28 20:43:54 24 4
gpt4 key购买 nike

我希望开发一个应用程序,其中将根据用户的交互创建“n”个 View 。如果这些 View 中的每一个都是使用 autorelease 动态创建的,那么该 View 何时会真正被释放?

假设有 10 个 View ,都是使用自动释放动态创建的 View :

  1. 创建 View 1 并将其添加到导航堆栈,向用户显示 View 1
  2. 用户移动到另一个 View “ View 2”, View 1 被推出堆栈并添加 View 2。 View 1 会在这里发布吗?我不希望它被发布,所以我应该保留它吗?
  3. 问题是,我可能不知道我正在创建多少个 View ,因此手动取消分配它们可能是个问题,或者有办法吗?

我有点糊涂了。

谢谢

最佳答案

  1. 您不向导航堆栈添加 View ,而是添加 View Controller 。
  2. 当你按下 View Controller 2 时,第一个 View Controller 不会被释放,不会。导航 Controller 将始终保留它的所有 View Controller ,直到它们从堆栈中弹出。它只会在未显示的 View Controller 上调用 -unloadView 以释放一些内存,但如果您在 View Controller 的 loadView 方法中创建 View ,所有内容都会自动重新创建。
  3. 您不需要手动释放任何东西,您只能释放它。由于导航 Controller 将保留您添加到其堆栈中的任何 View Controller ,因此您可以自行释放它。

从您提问的方式来看,我注意到您总体上缺少有关 iOS SDK、MVC 和 OOP 的一些非常基本的知识。老实说,我建议您尝试创建一个比 that chat app of yours 简单得多的应用程序。首先学习一些基础知识。

关于ios - autorelease 什么时候发布,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7232756/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com