Допустим, у нас есть протокол
protocol MyProtocol {
fun someFunc()
}
class AClass {
var delegate: MyProtocol?
}
AClass не заботится о том, является ли делегат классом или структурой. Что я хочу, так это то, что иногда делегат может быть классом, а иногда он может быть назначен структуре.
Мой вопрос в том, должен ли я сделать делегата «слабым».
Если это так, я должен сделать MyProtocol «протоколом класса», чтобы делегат был только классом. Если нет, когда я назначаю делегата классу, как я могу избежать сохранения цикла?
Спасибо за любую подсказку!