Разница между String и String protocol в Swift заключается в следующем:
- String — это тип строки в Swift, который представляет её как последовательность символов. cocoacasts.com Строки в Swift — типы значений, что означает, что при создании строки и назначении её переменной или передаче в функцию работает уникальная копия этой строки. cocoacasts.com
- String protocol — это протокол, который представляет строку как коллекцию символов. swiftdoc.org К нему соответствуют типы String и Substring из стандартной библиотеки. swiftdoc.org docs.swift.org Это значит, что функции для работы со строками часто удобно принимать значение String protocol, и их можно вызывать как с значением String, так и Substring. docs.swift.org
Таким образом, String представляет сами строки, а String protocol — это протокол, который описывает работу со строками как с коллекциями символов. swiftdoc.org cocoacasts.com