Comment accéder à un fichier inclus dans l'app bundle Swift?
Je sais qu'il y a quelques questions à ce sujet, mais ils sont en Objective-C.
Comment puis-je accéder à un .txt
fichier inclus dans mon application en utilisant Swift sur un iPhone? Je veux être capable de lire et d'écrire. Ici sont mes fichiers de projet si vous voulez prendre un coup d'oeil. Je suis heureux d'ajouter des détails si nécessaire.
“Je veux être en mesure de lire et d'écrire.” Vous ne pouvez pas. Lorsqu'il est installé sur un appareil, l'application bundle est lecture seule. Vous pouvez lire un fichier de votre application bundle, mais vous ne pouvez pas écrire.
OriginalL'auteur atirit | 2016-06-01
Vous devez vous connecter pour publier un commentaire.
Simplement par la recherche dans l'app bundle pour la ressource
Cependant, vous ne pouvez pas écrire parce que c'est dans l'application répertoire de ressources et vous devez le créer dans le répertoire de document pour écrire
maintenant, vous pouvez y accéder à partir de fileURL
ÉDITION - 28 août 2018
C'est la façon de le faire dans Swift 4.2
À le créer dans le répertoire du document
"maintenant, vous pouvez y accéder à partir de fileURL" par cela je veux dire que le fichier créé ne l'inclus et son écriture
le fichier n'est pas copié son un nouveau fichier vide
pourriez-vous être plus précis de la façon de faire de répertoire dans le répertoire de documents? Quel est le nom du répertoire? est-il un Document, ou de Documents? Merci
La façon plus spécifique? la réponse a été sur la façon d'accéder à un fichier pas sur la façon de créer des répertoires.
OriginalL'auteur Karim H
Swift 3, basé sur Karim répondre.
Lecture
Vous pouvez lire les fichiers inclus dans une application du faisceau à travers le faisceau de la ressource:
Écrit
Cependant, vous ne pouvez pas y écrire. Vous aurez besoin pour créer une copie, de préférence dans le répertoire Documents:
Exemple d'utilisation:
OriginalL'auteur Philippe-André Lorin
Juste une petite mise à jour pour l'aide de ce code avec Swift 4:
Et le suivant a été mis à jour pour tenir compte de l'écriture du fichier:
Cet exemple n'est pas le plus souple, mais avec un peu de travail, vous pouvez facilement passer dans vos propres noms de fichiers, les extensions et les valeurs de données.
OriginalL'auteur CodeBender
Faisceaux sont en lecture seule. Vous pouvez utiliser
NSBundle.mainBundle().pathForResource
pour accéder au fichier en lecture seule, mais pour les accès en lecture-écriture, vous devez copier votre document pour les Documents du dossier ou dossier tmp.OriginalL'auteur MirekE