对于内存循环引用的解决, 非 GC 下除了 Weak 还有其他好的办法吗?

2016-01-15 23:37:14 +08:00
 fly2never
其实在使用 Objective-C 的时候, 幻想着 Release 下编译器用 ARC, Debug 下编译器自动切换到 GC 模式, 并识别出循环引用供改进
2519 次点击
所在节点    iDev
9 条回复
Alchemistxxd
2016-01-15 23:53:46 +08:00
什么情况下的 RC ,是 block 还是其他的。
fly2never
2016-01-15 23:57:05 +08:00
@Alchemistxxd 最常见的情况还是 block
noli
2016-01-16 00:07:50 +08:00
如果你是想说用某种库或者 GC 以外的办法,使得问题变得看起来比较简化,那么你需要的是 actor 模型 / 协程。
Alchemistxxd
2016-01-16 00:18:22 +08:00
@fly2never 如果是 block 我看过一种写法,在 block 最后加上 self = nil ,这样就不需要 weakSelf 了。
Alchemistxxd
2016-01-16 00:24:46 +08:00
@Alchemistxxd 我想了下应该是我记错了,这个写法应该只有在 block 最为一个属性的时候才适用。
Alchemistxxd
2016-01-16 00:26:10 +08:00
@Alchemistxxd 哎,没法删除答案啊, self = nil 这种傻逼语句都写得出来。。。
agassi_yzh
2016-01-16 10:11:14 +08:00
PrideChung
2016-01-16 10:47:14 +08:00
要么用弱引用,要么手动置 nil
ffffwh
2016-01-16 14:57:57 +08:00
好想法,可以去学术圈找找

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/251107

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX