0
我尝试封装大多数操作我的异步活动,而且往往我有启动其他操作等操作......如何实现迅速关闭单向引用
,我现在面临的问题当我参考原始操作时,可以在连续操作完成之前取消分配。如果我有weak self
,weak me = self
或(灾难性地)unowned me = self
到位,我使用的关闭失败;但如果没有他们使用self
,那么这两个操作都不会释放(内存泄漏)。
是否有可能在闭包内保持引用活着而不创建双向循环引用情形?
我明白了。我的问题是关于你的回答中的'如果不是'部分。如果我试图阻止自己在将来没有永久分配到内存中,那么该怎么办?因为我正在使用ops,所以它们会耗尽并终止,除非我创建了一个perm链接,但我在问是否有办法避免这种情况。 –
我想要原始操作进行环聊直到完成它,然后才能释放它。 –
@JamesLingo在这种情况下,你将不得不使用强大的自我保持“操作”。这里没有别的选择。只有在这种情况下,自我的一生才会延续到块完成后。另请注意,无论“Self”是否仍然存在或已在同一时间内被释放,块最终都会被执行。 – Rahul