Domanda

Sto creando un'applicazione per iPhone che fa un atto di iPhone come una pendrive per una facile condivisione di file.

Nella prima fase, ho alcuni file (png, pdf, jpg, zip) in una directory e li ho fatti visualizzano nel Tableview in forma di matrice mutevole. Esso mostra nel tableView come mostrato di seguito,

.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 

Voglio solo per visualizzare il nome del file e non voglio che per visualizzare le estensioni. So che è possibile estrarre le estensioni di un file in NSFileManager. Ma non so come. Ti prego, aiutami a fare la mia vista tabella aspetto come questo

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

Soluzione

Cercare nella documentazione di NSString, ci troverete stringByDeletingPathExtension.

L'idea di base è che non si vuole aggiornare oggetti in array esistente, ma crea un nuovo array con i nomi dei file senza estensione, e gettare la matrice originale via.

Ecco come si può fare:

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

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

non mi aspetto che tu capisca che il codice, quindi, ecco una versione più semplice:

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);
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top