Почему я не могу получить filePath, хотя правильно сохраняю файл и вижу его? - PullRequest
0 голосов
/ 10 мая 2019

Я пытаюсь записать / прочитать пакет, и я использую приведенную ниже ссылку из StackOverflow:

Как получить доступ к файлу, включенному в комплект приложений в Swift?

, который выглядит как хороший код и должен нормально работать.

if let documentsDirectory = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).last {
   let fileURL = documentsDirectory.appendingPathComponent("file.txt")
   do {
       if try fileURL.checkResourceIsReachable() {
           print("file exist")
       } else {
           print("file doesnt exist")
           do {
            try Data().write(to: fileURL)
           } catch {
               print("an error happened while creating the file")
           }
       }
   } catch {
       print("an error happened while checking for the file")
   }
}

Чтобы получить путь к файлу:

var filePath = Bundle.main.url(forResource: "file", withExtension: "txt")

Я могу сохранить файл, но каким-то образом не могу найти путь к файлу

var filePath = Bundle.main.url(forResource: "file", withExtension: "txt")

Я не могу получить ни одно из расширений. Я даже вижу сохраненный файл в данных моего приложения в разделе «Устройства в XCode», который выглядит великолепно, но я не могу найти его по filePath. Можете ли вы помочь мне?

1 Ответ

0 голосов
/ 10 мая 2019

Хорошо, давайте посмотрим на это так:

  • Bundle.main - ваше приложение;Bundle.main.url ищет файл внутри вашего приложения.(Вот почему связанный ответ называется «Как получить доступ к файлу , включенному в комплект приложения в Swift?»)

  • documentDirectory - это снаружи ваше приложение, а именно (получите это), это каталог документов.

Таким образом, вы сохраняете файл вне вашего приложения и затем ищете файл внутри вашего приложения.Это не там, где оно есть, так что это не сработает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...