Когда NSURL.resolvingSymlinksInPath вернет ноль?
В Свифте URL
.resolvingSymlinksInPath()
всегда возвращает URL
, В его документации просто говорится:
resolvingSymlinksInPath ()
Разрешает любые символические ссылки в пути к файлу URL.
декларация
func resolvingSymlinksInPath() -> URL
обсуждение
Если isFileURL имеет значение false, этот метод возвращает self.
Источник: Разработчик
Тем не мение, NSURL
.resolvingSymlinksInPath
возвращает URL?
, Его документация не раскрывает, почему проводится различие:
resolvingSymlinksInPath
URL-адрес, который указывает на тот же ресурс, что и получатель, и не содержит символических ссылок. (Только для чтения)
декларация
var resolvingSymlinksInPath: URL? { get }
обсуждение
Если получатель не имеет символических ссылок, это свойство содержит копию исходного URL.
Если некоторые символические ссылки не могут быть разрешены, это свойство содержит эти неработающие символические ссылки.
Если имя получающего пути начинается с
/private
это свойство снимает/private
указатель, при условии, что результатом является имя существующего файла.Это свойство работает только для URL с
file:
схема пути. Для всех других URL-адресов он содержит копию получателя.
Источник: Разработчик
Это, кажется, охватывает все основы. Для каждого граничного случая существует конкретное задокументированное поведение, которое будет предпринято для обеспечения nil
значение возвращается. И все же, тип возвращаемого значения по-прежнему URL?
, В каком сценарии это возвращает nil
? Если никогда, почему тип возвращаемого значения необязательный?