2017-08-16 74 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

相關問題