Question

i m créer une application qui rend le travail de l'iphone comme pendrive pour but de partage de fichiers.

Dans la première étape, j'ai quelques fichiers (png, jpg, pdf, zip) dans un répertoire et je l'ai fait les afficher dans le tableview sous la forme d'un tableau mutable. Il affiche dans le tableView comme indiqué ci-dessous,

.DS_Store
.localized
gazelle.pdf
Hamburger_sandwich.jpg
IITD TAJ Picture 028_jpg.jpg
iya_logo_final_b&w.jpg
manifesto09-eng.pdf
RSSReader.sql
SimpleURLConnections.zip
SQLTutorial

Je veux juste afficher le nom des fichiers et je ne veux pas afficher les extensions. Je sais qu'il est possible d'extraire les extensions d'un fichier dans NSFileManager. Mais je ne sais pas comment. S'il vous plaît aidez-moi à faire mon point de vue de la table ressembler à ceci

.DS_Store
.localized
gazelle
Hamburger_sandwich
IITD TAJ Picture 028_jpg
iya_logo_final_b&w
manifesto09-eng
RSSReader
SimpleURLConnections
SQLTutorial

i ai Dans la deuxième étape une detailedViewController qui prend affiche la vue détaillée du fichier comme

  1. taille de fichier
  2. type de fichier
  3. si elle est une image, il devrait ouvrir dans imageView
  4. si elle est une chanson, il devrait jouer

Je dois donc retrive les propriétés comme filePath, typeFichier fileSize .. de chaque fichier. S'il vous plaît me guider avec un tutoriel si possible. Moi aussi, je n'ai aucune idée comment convertir un mutableArray à un NSString et appeler les méthodes comme stringByDeletingPathExtension. Aidez-moi, s'il vous plaît. Je peux même envoyer mon code source si nécessaire. Si possible, me guider avec quelques exemples de codes et tutoriel.

Était-ce utile?

La solution

Cela devrait fonctionner :) Cela obtenir tous les fichiers dans un répertoire dans un NSString * ParentDirectory, obtenir sa taille, si l'image faire quelque chose sinon il suppose est un fichier audio

NSFileManager *fm = [NSFileManager defaultManager];
NSError *error = nil;
NSArray *filePaths = [fm contentsOfDirectoryAtPath:parentDirectory error:&error];
if (error) {
    NSLog(@"%@", [error localizedDescription]);
    error = nil;
}   
for (NSString *filePath in filePaths) {
    //filename without extension
    NSString *fileWithoutExtension = [[filePath lastPathComponent] stringByDeletingPathExtension];

    //file size
    unsigned long long s = [[fm attributesOfItemAtPath:[parentDirectory stringByAppendingPathComponent:filePath] 
                                  error:NULL] fileSize];

    UIImage *image = [UIImage imageNamed:[parentDirectory stringByAppendingPathComponent:filePath];];
    //if image...
    if(image){
        //show it here
    }
    else{
        //otherwise it should be music then, play it using AVFoundation or AudioToolBox
    }

}

Autres conseils

J'espère que vous aurez le nom du fichier dans l'objet NSURL, le cas échéant, vous pouvez utiliser le code suivant pour obtenir juste le nom du fichier et peut supprimer l'extension de fichier de la chaîne.

NSArray *fileName = [[fileURL lastPathComponent] componentsSeparatedByString:@"."];
NSLog(@"%@",[fileName objectAtIndex:0]);
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top