Domanda

I m la creazione di un'applicazione che rende il lavoro iPhone come una pendrive per un facile obiettivo la 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

Nella seconda fase ho un detailedViewController che prende mostra la vista dettagliata del file come

  1. dimensioni dei file
  2. tipo di file
  3. se si tratta di un'immagine, si dovrebbe aprire in IMAGEVIEW
  4. se si tratta di una canzone, che dovrebbe giocare

Quindi ho bisogno di retrive le immobili come filePath, TipoFile, fileSize .. di ogni file. Per favore mi guida con un tutorial, se possibile. Anch'io non ho alcuna idea di come convertire una mutableArray ad un NSString e chiamare i metodi come stringByDeletingPathExtension. Mi aiuti per favore. Posso anche inviare il mio codice sorgente, se necessario. Se possibile, guidami con alcuni codici di esempio e tutorial.

È stato utile?

Soluzione

Questo dovrebbe funzionare :) Questo otterrà tutti i file in una directory in un NSString * ParentDirectory, ottenere le sue dimensioni, se l'immagine fare qualcosa altrimenti si assume è un file 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
    }

}

Altri suggerimenti

Spero che avrà il nome del file in oggetto NSURL, in caso affermativo quindi è possibile utilizzare il seguente codice per ottenere solo il nome del file e può rimuovere l'estensione del file da stringa.

NSArray *fileName = [[fileURL lastPathComponent] componentsSeparatedByString:@"."];
NSLog(@"%@",[fileName objectAtIndex:0]);
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top