我们需要在 ARC 中的 UIAnimationBlocks 中使用 __weak self 吗?

2024-01-14

我们是否需要在 UIAnimation 块中使用 __weak self ,如下所示?如果我们不将 self 指定为弱,是否会产生保留周期问题?

[UIView animateWithDuration:animationDuration 
                      delay:0 
                    options:UIViewAnimationCurveEaseInOut 
                 animations:^{
        [self doSomething];
    } completion:^(BOOL finished) {
        if (finished) {
            [self doSomething];
        }
    }];

我对以下场景也感到困惑。对此有什么想法吗?请分享您的意见。

[self.navController dismissViewControllerAnimated:animated 
                                       completion:^{
                                                      [self doSomething];
                                                  }];

我们应该在这里使用弱自我吗?


这不是一个保留周期。保留周期是

self -> block -> self

在这种情况下我们有

animation framework -> block
block -> self

其中第一个保留只是暂时的 - 当动画结束时块被释放。即使发生保留周期,它也只是暂时的,并且不会阻止对象释放。

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

我们需要在 ARC 中的 UIAnimationBlocks 中使用 __weak self 吗? 的相关文章

随机推荐

  • CDI 注入在 Servlet 中不起作用

    我真的需要你的帮助 我现在正在研究这个问题几周或几个月 对于这么长的帖子 我深表歉意 但我想尽可能准确地解释问题和我的设置 我的 JAVA EE 6 Web 应用程序主要包含 3 个 Servlet javax faces webapp F
  • 如何从我的 Git 存储库中删除未引用的 blob

    我有一个 GitHub 存储库 有两个分支 master and release The release分支包含二进制分发文件 这些文件导致存储库大小非常大 超过 250 MB 因此我决定清理这些内容 首先我删除了远程发布分支 通过git
  • Hibernate 5 和类型化标准查询 (JPA2)

    问题 1 如果我从 Hibernate 4 x 升级到 Hibernate 5 x 我是否仍然可以使用 旧 条件查询 或者仅使用新的条件查询TypedJPA2 标准查询 旧的是否已被弃用 或者我可以同时使用两者吗 2 我是否正确理解新的类型
  • ASP.NET Core 中 IUrlHelper 的注入

    In RC1 IUrlHelper可以注入到服务中 用services AddMvc 在启动课程中 这不再适用于RC2 有谁知道怎么做RC2就像刚刚更新一个UrlHelper需要一个ActionContext目的 不知道如何将其置于控制器之
  • 无法通过 Apps 脚本 (JDBC) 连接到本地 MySQL 服务器

    请参阅下面的编辑 我留下原始问题以帮助其他人 我尝试通过 Apps 脚本和 JDBC 连接到本地 MySQL 服务器 但我不断收到两个错误之一 这段代码 function connectTest var conn Jdbc getConne
  • 如何打开屏幕?

    重复警告 此问题针对服务和前端 有一些类似的线程 但重点关注 GUI 方法 Problem 从任何状态开始 背景中播放音乐 屏幕打开 原文如此 屏幕关闭 手机锁定 手机解锁等等 我只想更改状态中的一件事 打开屏幕 其他什么都不应该改变 At
  • 在调查问卷样式 DataGridView 中仅从多个复选框列中选择一个复选框

    我创建了一个显示DataGridView带着一系列的问题 dgv 结构由一个用于问题文本的字符串列和三个用于答案的布尔 复选框列 是 否 N A 组成 每个问题都显示在自己的行中 我希望我的程序只允许用户在每一行上仅选择 是 否 或 不适用
  • PHP 7.4 检查属性是否真正初始化

    我想在 PHP 7 4 中检查属性是否真正初始化 将属性设置为 null 意味着它是用 null 初始化的 我不能使用isset因为即使设置为 null 它也会返回 false 我不能使用property exists因为即使未初始化它也会
  • 具有相同名称的 Jaxb 对象

    似乎可以解组两个不同的 jaxb具有相同的对象name 有一个Bar班级 public abstract Bar private XmlElement String val 有两个实现 构造函数等省略 XmlRootElement name
  • 使用okHttp上传图片

    我想使用上传图像okhttp但我无法找到用于发布图像的 MultipartBuilder 我可以用什么来代替这个 这是我的代码 public static JSONObject uploadImage File file try final
  • 传递地图坐标数组以在地图上快速绘制路线

    您好 我有一个像这样的坐标数据数组 它是从 API 调用中检索的 我使用 for 循环将数据附加到如下数组中 extension TripListViewController UITableViewDelegate func tableVi
  • 什么是 def ... else ... end 结构?

    我有这个代码 def with else puts we enter something funny if true puts yes return YES end return what else puts no return else
  • 如何将线性线添加到具有数据框的多个数据集的图中?

    我有以下数据框 expected observed group 1 0 5371429 0 0000 1 2 1 3428571 1 3736 1 3 2 6857143 2 4554 1 4 5 3714286 3 6403 1 5 0
  • Sitecore DateField 的 DateTime 属性显示错误的日期

    在我的 Sitecore 项目中我使用DateTime Sitecore 的类型 字段作为属性Item 我试图通过以下代码获取该值 var dateField DateField item Fields Date var itemDate
  • Drupal 6:提交时 form_state 值为空

    我正在尝试在 Drupal 6 中创建一个自定义表单 下面的代码似乎一切正常 包括提交时在数据库中创建一个新条目 但所有 form state 值都是空的 我缺少什么
  • 操作码中的汇编段

    我注意到在操作码中使用了汇编段 Example MOV DWORD PTR SS EBP 30 30 我认为 PTR SS 用于指定EBP 30来自堆栈 SS 堆栈段 我是对的还是完全错的 而且 你能告诉我上面的例子和 MOV DWORD
  • java.lang.IllegalArgumentException:setAttribute:不可序列化的属性

    我继承了一些代码 当我尝试运行它时遇到错误 错误如下 10 08 32 093 ERROR MyServlet 260 Servlet service for servlet MyServlet threw exception java l
  • 复选框的组合框?

    我正在尝试将这些项目制作成ComboBox可检查 我试过这个 http programmingexamples net wiki Qt ModelView ComboBoxOfCheckBoxes http web archive org
  • 复杂的 MySQL 查询

    我正在 WordPress 中创建一个网站 其中包含电视节目的信息 我使用自定义字段来选择每个帖子 桌子看起来像这样 id post id meta key meta value 1 1 name Smallville 2 1 season
  • 我们需要在 ARC 中的 UIAnimationBlocks 中使用 __weak self 吗?

    我们是否需要在 UIAnimation 块中使用 weak self 如下所示 如果我们不将 self 指定为弱 是否会产生保留周期问题 UIView animateWithDuration animationDuration delay