Может кто-нибудь объяснит мне только протоколы класса в Swift. Я понимаю, какие протоколы и почему мы их используем. Я также понимаю, что рекомендуется использовать только протоколы класса, когда мы используем в нем объекты ссылочного типа и хотим ограничить конформацию протокола только для классов. Однако я не могу найти хороший ответ для поддержки этой рекомендации. Почему это рекомендуется? Каковы недостатки использования обычных протоколов в этом случае.Зачем использовать только протоколы класса в Swift?
1
A
ответ
7
Один случай использования:
- У вас есть протокол «делегат» и кто-то хочет иметь
weak
свойство этого типа протокола.weak
может использоваться только для ссылочных типов; поэтому протокол должен быть только классом.
Смежные вопросы
- 1. swift: Как использовать протоколы вместо абстрактного класса?
- 2. Где реализовать протоколы Swift?
- 3. Использовать целевые c-протоколы в swift
- 4. Протоколы Swift 2.2 Свойства
- 5. индексы и протоколы в swift
- 6. Протоколы и расширения swift
- 7. протоколы проблемы Swift
- 8. Swift протоколы и полиморфизм
- 9. Набор и протоколы в Swift
- 10. Swift: объявить протоколы внутри классов
- 11. Зачем использовать инициализаторы в классах Swift?
- 12. Протоколы и состав на Swift
- 13. Зачем использовать dll вместо класса
- 14. Рекомендуется использовать протоколы в Swift для разрыва жесткой связи
- 15. пытаясь понять протоколы и делегаты в swift
- 16. Какие протоколы соответствуют всем номерам в Swift?
- 17. Объем файла? Swift Делегаты и протоколы
- 18. Протоколы Swift vs Objcective-C
- 19. Ориентированные на Swift-протоколы расширения
- 20. Протоколы со связанным типом в Swift 3
- 21. Зачем использовать подстановочный знак (_) в Swift?
- 22. Зачем использовать делегатов?
- 23. Как использовать Swift протоколы с Generic методы и общие типы
- 24. Как найти протоколы типа IntegerLiteralConvertible в swift?
- 25. Динамической отправка и протоколы в Swift
- 26. Зачем использовать макрос в объявлении класса
- 27. класса только общие ограничения в Swift
- 28. Устаревшие протоколы для Swift 3 upgrade
- 29. Swift: Зачем использовать функцию, которая не возвращается ..?
- 30. Зачем использовать инициализаторы в классе только = или {}?
* Используйте протокол только для классов, если предполагается, что поведение, определенное требованиями этого протокола, требует, чтобы соответствующий тип имел ссылочную семантику, а не семантику значений. * Https://developer.apple.com/library/ios/ документация/Swift/Концептуальное/Swift_Programming_Language/Protocols.html # // apple_ref/DOC/UID/TP40014097-CH25-XID_422 –