Как сделать слабую ссылку на протокол в «чистом» Swift (без @objc)

weak ссылки не работают в Swift, если толькоprotocol объявлен как@objc, который я не хочу в чистом приложении Swift.

Этот код выдает ошибку компиляции (weak не может быть применено к неклассному типуMyClassDelegate):

class MyClass {
  weak var delegate: MyClassDelegate?
}

protocol MyClassDelegate {
}

Мне нужно префикс протокола с@objcтогда это работает.

Вопрос: Что такое «чистый» способ Свифтаweak delegate?

Ответы на вопрос(5)

Ваш ответ на вопрос