Що таке слабкий self в iOS Swift?

Слабке я є концепція ARC, яка в основному використовується для уникнення циклу збереження. Якщо ви безпосередньо використовуєте self, це створює надійне посилання та не буде видалено з пам’яті. Отже, об’єкт, який містить змінну, залишиться живим і призведе до витоку пам’яті. 19 квітня 2021 р.

`[слабе я]` фіксує слабке посилання на `self` для використання в межах закриття. Якщо `self` звільнено, то посилання стає нульовим. Існує також `[unowned self]`, який також фіксує слабке посилання, але неявно розгортає `self`.

[self] вказує на те, що self навмисно утримується з сильним посиланням (тому деякий синтаксис спрощено). [weak self] вказує на те, що self утримується зі слабким посиланням. Ви скористаєтеся цим, якщо знаєте, що контрольного циклу немає, або якщо хочете, щоб був тимчасовий контрольний цикл.

Підсумовуючи, використовуйте `weak`, коли об’єкт, на який посилається, може стати `nil` протягом життєвого циклу об’єкта, на який посилається, і використовуйте `unowned`, коли ви можете гарантувати, що об’єкт, на який посилається, переживе об’єкт, на який посилається.

Сильне посилання означає, що об’єкт не буде звільнено, поки існує принаймні одне сильне посилання на нього. З іншого боку, слабке посилання не перешкоджає звільненню об’єкта. Якщо об’єкт має лише слабкі посилання, його буде звільнено.

Потрібне лише використання [weak self]. в ситуаціях, коли сильне захоплення себе призведе до циклу утримання, наприклад, коли self фіксується всередині закриття, яке також остаточно зберігається тим самим об’єктом.

Related Post

Що відбувається під час оцінювання?Що відбувається під час оцінювання?

Загалом процес оцінювання проходить через чотири окремі фази: планування, впровадження, завершення та звітування. Незважаючи на те, що ці кроки відображають загальні кроки розробки програми, важливо пам’ятати, що ваші зусилля з

Що таке форма CRU1?Що таке форма CRU1?

Форма CRU1. Позов про відшкодування тілесних ушкоджень унаслідок нещасного випадку чи інциденту має бути зареєстровано в CRU за допомогою форми CRU1. Форма вимагає такої інформації: Особиста інформація позивача. Причина позову.

Який місяць є найхолоднішим в Неаполь Італія?Який місяць є найхолоднішим в Неаполь Італія?

М'які неаполітанські зими січень і лютий є найхолоднішими місяцями, але навіть тоді низькі температури рідко опускаються нижче 10°C, а мінімальна температура майже завжди вище нуля. Зима. Зима – популярна пора