- Adakah anda memerlukan diri yang lemah dalam barisan penghantaran?
- Apa yang lemah diri di Swift?
- Mengapa anda secara amnya membuat rujukan yang lemah ketika menggunakan diri dalam blok IOS?
Adakah anda memerlukan diri yang lemah dalam barisan penghantaran?
Menggunakan [lemah diri] hanya diperlukan dalam situasi di mana menangkap diri dengan kuat akan menyebabkan kitaran penahanan, misalnya ketika diri ditangkap dalam penutupan yang juga akhirnya ditahan oleh objek yang sama.
Apa yang lemah diri di Swift?
Dalam Swift, kita perlu menggunakan diri yang lemah dan diri yang tidak dikenali untuk memberi ARC maklumat yang diperlukan antara hubungan dalam kod kami. Tanpa menggunakan lemah atau tidak berpengalaman, anda pada dasarnya memberitahu ARC bahawa "rujukan kuat" tertentu diperlukan dan anda menghalang jumlah rujukan daripada menjadi sifar.
Mengapa anda secara amnya membuat rujukan yang lemah ketika menggunakan diri dalam blok IOS?
Tetapi jika paginator dimiliki oleh ViewController, dan blok-blok ini tidak dipanggil setelah ViewController dilepaskan, menggunakan __weak referensi akan menjadi langkah yang selamat (kerana diri sendiri memiliki benda yang memiliki blok tersebut, dan kemungkinan besar masih ada apabila blok memanggilnya walaupun mereka tidak menyimpannya).