Por que a palavra-chave “fraca” pode ser aplicada apenas a tipos de protocolo de classe e de classe

Quando estou declarando variáveis comoweak no Swift, às vezes recebo a mensagem de erro do Xcode:

'fraco' só pode ser aplicado a tipos de protocolo de classe e de classe

Eu só estava me perguntando por que palavra-chaveweak só pode ser aplicado a tipos de protocolo de classe e de classe? Qual é a razão por trás disso?

questionAnswers(9)

yourAnswerToTheQuestion