Кто-то можешь на аналогии/примере объяснить чем отличается в swift
extension Foo where: Element == Bar
и
extension Foo<Bar> ?
У меня на днях было неожиданное открытие, что можно extension [String] {} или extension String? {} писать. Думаю это из этой же категории
Версией свифта в которой последний синтаксис поддерживается
кста, а с какой версии это доступно? не мог же я бесполезно всю жизнь писать в 2 раза больше букав...
extension Foo where Element == Bar расширение для Foo, когда Element равен Bar. А extension Foo<Bar> используется для случая, когда Foo дженерик, который сейчас настроен конкретно для Bar. То есть вторая конструкция более гибкая.
Да ладно. Первый случай это расширение массива с констрейнтом элемента а второй это расширение опционала
Обсуждают сегодня