当前位置: 首页 > 面试题库 >

是否有必要在UIView.animateWithDuration(...)的闭包中使用[unown self]?

赏梓
2023-03-14
问题内容
    UIView.animateWithDuration(1,
        animations: { [unowned self] in
            self.box.center = self.boxTopRightPosition
        },
        completion: { [unowned self] completed in
            self.box.hidden = true
    })

有必要避免内存泄漏吗?


问题答案:

不,在这种情况下不需要。animations并且completion不会被保留,self因此没有强大的保留周期的风险。



 类似资料:
  • 问题内容: 我有项目清单。这些物品大多数都没有库存。项目表具有ID,名称,描述。项目数量存储在另一个名为清单的表中。库存表具有item_id和库存数量。 我是否需要库存表的主键?如果是这样,我应该使用序列密钥还是复合密钥?什么时候可以没有主键的表? 编辑:谢谢大家提供的非常有益的信息。我现在将始终拥有主键,除了极少数的例外。我还学到了更多关于串行键和复合键的信息。 问题答案: 始终以拥有主键为目标

  • 问题内容: 我正在阅读面向对象的Javascript,并发现了闭包的概念。我不太明白为什么以及何时使用它。其他语言(例如Java)也有闭包吗?我基本上想了解了解闭包的概念如何帮助我改善编码。 问题答案: 闭包是具有绑定变量的第一类函数。 大致意味着: 您可以将闭包作为参数传递给其他函数 闭包存储创建时存在的词法作用域中某些变量的值 Java最初没有对闭包的语法支持(Java 8中引入了闭包),尽管

  • Win32程序通常有一个消息循环,循环调用GetMessage或PeekMessage,然后调用DispatchMessage将消息分派到相关窗口的窗口进程。 但是,真的有必要这样做吗?我是否可以直接在消息循环中查看 MSG 对象,并在其中执行所需的操作,而无需调用 DispatchMessage?我说的是我有一个窗口没有其他窗口控件的情况,例如,如果该窗口仅用作direct3d显示窗口,则消息将

  • 问题内容: 我使用的是用这样的: 我只关门了。我是否还需要关闭()? 问题答案: 不,您只需要关闭最外面的流。它将一直委托给包装的流。 但是,您的代码包含一个概念上的失败,应该在中发生关闭,否则当代码在打开和关闭之间引发异常时,它永远不会关闭。 例如 (请注意,我更改了代码以 引发 异常,以便您了解问题的原因,该异常即包含有关问题原因的详细信息) 或者,当您已经在使用Java 7时,也可以使用AR

  • 问题内容: 我的问题是,此代码是否能证明/否定/否定这样的假设,即在拆解方法中使成员变量无效是有用的?我用JUnit4.8.1测试了它。 JUnit为4个测试中的每一个创建测试类的新实例。每个实例都包含一个对象obj。该obj也作为静态WeakHashMap的键插入。如果并且当JUnit释放其对测试实例的引用时,关联的obj值将被弱引用,因此有资格使用gc。该测试尝试强制使用gc。WeakHash

  • 问题内容: 为了处理Web应用程序中的每个请求,有关模板的普通代码如下所示: 我想每次都花很多钱。是否可以重复使用模板?因此,我对此进行了改进: 我想知道通过将模板放入地图或缓存来提高效率是否可行或可行?我也想知道函数 是否是线程安全的? 问题答案: 模板本身实际上可以充当模板的映射。这是我的工作: 我声明一个全局模板变量: 除了用作其他模板的容器之外,我实际上没有使用“主”模板。 然后,在我的应