Git Hub
коротко

Weak против Unowned

8 марта 2018, 21:27

В Swift эти модификаторы ссылок схожи, но не одинаковы

Weak Unowned
Слабая ссылка Да Да
Увеличивает счётчик ссылок для ARC Да Нет

Пример использования weak


Нельзя помечать weak протоколы не относящиеся к ссылочному типу

Пример использования unowned

class BaseService {
    unowned let provider: ServiceProviderProtocol
    
    init(provider: ServiceProviderProtocol) {
        self.provider = provider
    }
}

Желаю всем более обдуманного выбора при использовании weak и unowned.

Поделиться
Популярное