iPhone - свойства файла - PullRequest
       4

iPhone - свойства файла

0 голосов
/ 09 ноября 2010

Я создаю приложение, которое заставляет iphone работать как pendrive для облегчения обмена файлами.

На первом этапе у меня есть несколько файлов (png, pdf, jpg, zip) в каталоге, и я сделал так, чтобы они отображались в виде таблицы в виде изменяемого массива. Отображается в табличном представлении, как показано ниже,

.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

Я просто хочу отобразить имя файла и не хочу отображать расширения. Я знаю, что можно извлечь расширения файла в NSFileManager. Но я не знаю как. Пожалуйста, помогите мне сделать мой вид таблицы следующим образом

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

На втором этапе у меня есть подробный ViewController, который отображает подробный вид файла, как

  1. размер файла
  2. тип файла
  3. если это изображение, оно должно открываться в imageView
  4. если это песня, она должна воспроизвести ее

Так что мне нужно получить свойства, такие как filePath, fileType, fileSize .. каждого файла. Пожалуйста, направьте меня с учебником, если это возможно. Я тоже не имею ни малейшего представления о том, как преобразовать mutableArray в NSString и вызвать методы, такие как stringByDeletingPathExtension. Пожалуйста, помогите мне. Я даже могу отправить свой исходный код, если это необходимо. Если возможно, приведите мне примеры кодов и учебное пособие.

Ответы [ 2 ]

0 голосов
/ 09 ноября 2010

Это должно работать :) Это позволит получить все файлы в каталоге в NSString * parentDirectory, получить его размер, если изображение делает что-то другое, в противном случае оно принимает звуковой файл

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
    }

}
0 голосов
/ 09 ноября 2010

Я надеюсь, что у вас будет имя файла в объекте NSURL, если это так, то вы можете использовать следующий код, чтобы получить только имя файла и удалить расширение файла из строки.

NSArray *fileName = [[fileURL lastPathComponent] componentsSeparatedByString:@"."];
NSLog(@"%@",[fileName objectAtIndex:0]);
...