2017-08-16 94 views

回答

2

安全。关键部分是该变量被宣布为__weak。只要你用它作为self的实例 - 而不是某个其他类 - 运行时并不关心编译器认为它是什么类型(在这种情况下,编译器会知道__auto_type正确的类型)。

还请记住,弱限定符仅在self直接或间接保留其引用的块时才需要。对于许多区块,普通旧self从保留周期是安全的。

+0

是的人我已经发现,它并不总是必需的,但它只是不容易看到如果需要或如果不是。编译器给我的警告,但我不知道这是否100%可靠。 – Renetik

1

是的。你不会在wvar中存储任何参考。这只是一个方便的方式来节省一些时间,如果你键入“__weak __auto_type”很多:)

+0

是的,它也好多了 wvar _self = self; vs __weak __auto_type _self = self; 当然,我做了很多...我使用块很多。 – Renetik

相关问题