Il existe plusieurs manières d’ajouter des documents à notre application, nous allons voir les deux principales.
Sur cette page nous allons voir comment ajouter des documents à notre application à la compilation.
La seconde manière est d’ajouter des documents depuis le téléphone. Et nous verrons cela dans un autre exercice.
depuis XCode
AssetsCopy items if needed pour que les images soient copiées dans votre projet.Les images sont disponibles dans votre application, elles seront représentées dans un objet Bundle qui contient une référence aux fichiers non exécutables de votre application.
💡 Nous allons pouvoir accéder au Bundle depuis le code pour remplir notre TableView.
Apple nous fourni déjà pas mal d’outils pour accéder et manipuler des fichiers grâce à la bibliothèque Foundation.
Vous aurez besoin de :
BundleFileManagerPour récupérer les informations d’un fichier, comme sa taille, son nom et son type.
// A mettre dans votre DocumentTableViewController
func listFileInBundle() -> [DocumentFile] {
let fm = FileManager.default
let path = Bundle.main.resourcePath!
let items = try! fm.contentsOfDirectory(atPath: path)
var documentListBundle = [DocumentFile]()
for item in items {
if !item.hasSuffix("DS_Store") && item.hasSuffix(".jpg") {
let currentUrl = URL(fileURLWithPath: path + "/" + item)
let resourcesValues = try! currentUrl.resourceValues(forKeys: [.contentTypeKey, .nameKey, .fileSizeKey])
documentListBundle.append(DocumentFile(
title: resourcesValues.name!,
size: resourcesValues.fileSize ?? 0,
imageName: item,
url: currentUrl,
type: resourcesValues.contentType!.description)
)
}
}
return documentListBundle
}
Bundle.main, mettre la liste des fichiers dans un tableau de type [DocumentFile] et faites fonctionner le TableView avec cette liste.A la fin de cet exercice vous devriez avoir quelque chose comme ça :

Voir l’exercice avec UIDocumentPicker à faire plus tard.