返回 Objective-C 对象时的内存管理

2023-12-22

在 Objective-C 中,如果我有一个方法来分配和初始化一个对象,然后返回它,我在哪里/如何释放它?

例如,假设我有一个创建对象的方法:

- (void)aMethod {
    UIView *aView = [self createObject];
}

- (UIView *)createObject {
    UIView *returnView = [[UIView alloc] initWithFrame:CGRectZero];
    return returnView;
}

我什么时候释放这个对象?或者我会自动释放它?


The 内存管理规则 http://developer.apple.com/mac/library/documentation/Cocoa/Conceptual/MemoryMgmt/MemoryMgmt.html对此事很清楚。你应该阅读它们。非常简单,也是使用 Apple 框架编写 Objective-C 代码的基础。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

返回 Objective-C 对象时的内存管理 的相关文章

随机推荐

  • 从日期时间中提取小时 (SQL Server 2005)

    我可以使用提取月份和日期Day Date Month Date 我无法提取小时数HOUR Date 我收到以下错误 HOUR is not a recognized built in function name 如何提取小时数 SELECT
  • Swift:如何处理内存中的大量纹理

    我的游戏中有很多角色 因此我有很多纹理 当加载纹理图集 包含大约 5 个不同的图像纹理 时 它会增加内存使用量并保持该数量 因此 更多的纹理只会不断推动该数字不断上升 直到有时应用程序崩溃 我不需要一次需要所有角色 我怎样才能在需要时加载一
  • 如何处理 Moose 中的可选参数?

    我目前正在使用 Moose 包开始使用 Perl OOP 编译器抱怨它 无法修改 Parser pm 第 16 行的非左值子例程调用 我不太明白为什么我不能只分配一个新对象 我想有更好或更有效的方法来使用 Moose 执行可选参数吗 usr
  • Mercurial/Kiln + MSBuild + MSTest 持续集成的建议

    我们将源代码存储在 Kiln Mercurial 存储库中 我们使用 MSBuild 来构建我们的产品 并且我们有利用 MSTest Visual Studio 单元测试 的单元测试 存在哪些解决方案来实现持续集成机器 即构建机器 对此的要
  • 正确的 JSONP 响应

    我正在本地尝试让 JSONP 给出正确的响应并将其传递到我的回调函数 jsonp callback 中 使用以下代码 如何设置 JSONP https stackoverflow com questions 9519209 how do i
  • 是否可以告诉 Visual Studio 不要将源文件视为“组件”? [复制]

    这个问题在这里已经有答案了 可能的重复 是否有一个属性可以添加到类中 以便将其作为代码进行编辑 而不是在设计器中进行编辑 https stackoverflow com questions 230146 is there an attrib
  • Django 保存覆盖 ImageField 处理

    在我遇到问题之后这个线程 https stackoverflow com questions 24373341 django image resizing and convert before upload 当我使用 Django Admi
  • 使用momentjs检查该时间范围是否与其他时间范围冲突

    场景1 Time range 1 2016 12 06 11 00 to 2016 12 06 12 00 Time range 2 2016 12 06 10 00 to 2016 12 06 13 00 time range 1 is
  • Chrome 无法访问

    运行单元测试时 我收到以下错误消息 谁能告诉我这是什么原因造成的以及如何解决 错误 铬无法到达 驱动程序信息 gt chromedriver 0 7 platform Windows NT 6 1 x86 警告 服务器未提供任何堆栈跟踪信息
  • jQuery Mobile 和 Google 地图不可见

    好吧 对于 jQuery Mobile 我是个菜鸟 但我正在入门 要点是一个两页的移动网站 第一页是一个简单的表单 用户可以在其中选择几个选项 提交表单后 它们会被重定向到第二页 其中包含 地图画布 但由于某种原因 下一页只是空白 有时 当
  • 为什么CSRF token应该在meta标签和cookie中?

    需要将CSRF令牌名称和值放入其中吗标签使用 like e g 我读过有关将 CSRF 值保留在 cookie 中的概念 但没有找到为什么要保留在其中 tag To 防止CSRF https cheatsheetseries owasp o
  • 获取可执行文件的路径(使用 std::filesystem)[重复]

    这个问题在这里已经有答案了 在我被标记为重复之前 我能找到的所有类似问题在引入 std filesystem 之前都有答案 并且使用特定于平台的代码或 Boost filesystem 我正在寻找一个使用 std filesystem 的便
  • 如何让WPF UI滑动动画更加物理化?

    如果我们想要滑动屏幕 我们需要一些事件 Like Mouse Move Event Mouse Down Event Mouse UP event但问题是只有当手指触摸屏幕时我们才能做一些动画 我的意思是 当它触摸屏幕移动时 它会移动 当我
  • 导入错误:没有名为 html.parser 的模块

    Eclipse Python 2 7 当我使用 from bs4 import BeautifulSoup 时 出现错误 错误列表如下 Traceback most recent call last File D SDK SampleTes
  • 如何在处理输入文件时提前查看(处理 2 行)

    当逐行浏览文本文件时 我希望能够展望下一行并在处理当前行时检查它 我正在用C语言工作 我相信fseek 或其他类似的功能会帮助我解决这个问题 但我不确定也不知道如何使用它们 我想要实现一些目标 fp fopen test seeking t
  • 使用 Git 时在 Visual Studio 2013 中设置 Beyond Compare

    如何配置 Visual Studio 以使用 Beyond Compare https stackoverflow com questions 4466238 how to configure visual studio to use be
  • 为什么使用 std::thread::hardware_concurrency() 和 boost::thread::hardware_concurrency() 会有区别?

    问题本身的描述非常简单 我正在测试 C 11 中 std thread 库和 boost thread 库的差异 这些的输出 include
  • 如何监控SQL Server表结构变化?

    我想监控SQL Server中某个表结构的变化 例如 假设我有下表 Existing ID int not null Name varchar null Changed ID int not null Name varchar null L
  • 父母重新渲染但孩子不会重新渲染的情况可能是什么?

    有人告诉我 如果父母的道具发生变化 但父母的状态发生变化 孩子不会重新渲染 在下面的情况下 当我单击按钮 子重新渲染 时 这是有意义的 因为触发了其父级的状态 但我不知道为什么孙子也会重新渲染 它的父级状态 子级状态 没有改变 那么 这里的
  • 返回 Objective-C 对象时的内存管理

    在 Objective C 中 如果我有一个方法来分配和初始化一个对象 然后返回它 我在哪里 如何释放它 例如 假设我有一个创建对象的方法 void aMethod UIView aView self createObject UIView