Question

Je suis en train de créer une application iPhone qui fait un acte d'iphone comme pour pendrive le partage de fichiers facile.

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 
Était-ce utile?

La solution

Regardez dans la documentation de NSString, vous y trouverez stringByDeletingPathExtension.

L'idée de base est que vous ne voulez pas des objets de mise à jour dans tableau existant, mais créer un nouveau tableau avec les noms de fichiers sans extension, et jetez le tableau original loin.

Voici comment cela peut être fait:

NSArray *stuff = [NSArray arrayWithObjects:@"image1.jpg", @"image2.png", @"image3.tiff", nil];
NSLog(@"input %@", stuff);

stuff = [stuff valueForKey:@"stringByDeletingPathExtension"];
NSLog(@"output %@", stuff);

Je ne vous attendez pas à comprendre ce code, donc ici est une version plus simple:

NSArray *stuff = [NSArray arrayWithObjects:@"image1.jpg", @"image2.png", @"image3.tiff", nil];
NSLog(@"input %@", stuff);

NSMutableArray *output = [NSMutableArray array];
for (NSString *filename in stuff) {
    NSString *filenameWithoutExtension = [filename stringByDeletingPathExtension];
    [output addObject:filenameWithoutExtension];
}
NSLog(@"output %@", output);
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top