Я создал класс с именем Error. Теперь в Foundation также есть класс Error, и мне все еще нужно иметь доступ к нему.
Что я обычно делаю в этом случае, так это применяю правильное пространство имен:
Foundation.Error
Однако я получаю следующее сообщение об ошибке:
No type named 'Error' in module 'Foundation'
Я проверил документацию, чтобы убедиться, что Error действительно от Foundation:
Что я делаю неправильно?
Ты прав! Но почему это не Foundation, хотя он там заявлен?
Что заставляет вас думать, что? developer.apple.com/documentation/swift/error говорит: Framework: Стандартная библиотека Swift
Смотрите обновленный пост.
Я не могу сказать вам, что Почему указан в разделе Foundation, вы даже не можете импортировать Foundation для использования Error.
Хм, в любом случае спасибо! Если вы разместите свой комментарий в качестве ответа, я его приму. Или мне удалить этот вопрос? Может быть, слишком банально ...





Error протокол
определен в стандартной библиотеке Swift. Вам даже не нужно импортировать
Фонд для того, чтобы его использовать:
$ swift Welcome to Apple Swift version 4.2 (swiftlang-1000.11.37.1 clang-1000.11.45.1). Type :help for assistance. 1> var e: Error? e: Error? = nil 2>
Таким образом, полное имя - Swift.Error.
Однако (полезное) свойство localizedDescription определено в Foundation
framework как метод расширения протокола.
Swift.Errorдолжен работать.