Когда я должен использовать NSURLCanonicalPathKey? - PullRequest
0 голосов
/ 19 мая 2019

В macOS 10.12 NSURLCanonicalPathKey добавлено к NSURL. В документации говорится:

Путь URL как канонический абсолютный путь к файловой системе.

Кроме этого, единственная другая документация / информация, которую я видел, это из поста Swift Forum , в котором говорится:

Возможно, вы захотите взглянуть на .canonicalPathKey (NSURLCanonicalPathKey). На платформах Apple существует множество стандартных путей UNIXy в / private / с соответствующими символическими ссылками из корня. Так что / etc / на самом деле / ​​private / etc /. Если вы не канонизируете пути, это может привести вас в замешательство.

Мне кажется, это довольно большое дело, но я удивлен, что это было введено только в 10.12. Я когда-либо полагался только на NSURLPathKey, .path или данные закладок для разрешения URL-адресов, и никогда не имел проблемы .

  • Должен ли я теперь использовать канонический путь везде, где раньше стандартное значение пути?

  • Если я храню информацию о пути в базе данных в виде строки, я должен сохранить значение .path или NSURLCanonicalPathKey?

  • Если я преобразую NSURL в строковое представление для использования в библиотеке C / C ++, для которой требуется путь к файлу, следует ли мне использовать представление канонического пути?

  • Если вы отображаете путь к файлу для пользователя, следует ли указывать канонический путь?

  • Как NSURLCanonicalPathKey сравнивается с URLByStandardizingPath и URLByResolvingSymlinksInPath, которые, кажется, делают то же самое или противоположное ... (?)

Это на macOS 10.14, и я рассматриваю только те URL-адреса, которые указывают на файлы или папки. Мне известно, что данные закладок, вероятно, следует хранить в базе данных, а не в путях.

...