Как сделать слабую ссылку на протокол в «чистом» Swift (без @objc)
weak
ссылки не работают в Swift, если толькоprotocol
объявлен как@objc
, который я не хочу в чистом приложении Swift.
Этот код выдает ошибку компиляции (weak
не может быть применено к неклассному типуMyClassDelegate
):
class MyClass {
weak var delegate: MyClassDelegate?
}
protocol MyClassDelegate {
}
Мне нужно префикс протокола с@objc
тогда это работает.
Вопрос: Что такое «чистый» способ Свифтаweak
delegate
?