Протокол, наследующий AnyObject, может быть реализован только классами; нужен для weak делегатов и reference semantics.
Разбор
- Раньше писали
protocol P: class.
- Struct не может conforming, если нужен weak delegate.
- Смешение value/reference моделей осознанно.
- Marker
AnyObject также для existential class constraints.
Итог
AnyObject ограничивает протокол ссылочными типами для weak/identity сценариев.