Получите расширение файла, содержащегося в NSString

У меня есть словарь NSMutable, который содержит идентификаторы файлов и их имя + расширение в простой форме fileone.doc или filetwo.pdf. Мне нужно определить, какой это тип файла, чтобы правильно отображать соответствующий значок в моем UITableView. Вот что я сделал до сих пор.

NSString *docInfo = [NSString stringWithFormat:@"%d", indexPath.row]; //Determine what cell we are formatting
NSString *fileType = [contentFiles objectForKey:docInfo]; //Store the file name in a string

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

    NSError *error = NULL;
NSRegularExpression *regexPDF = [NSRegularExpression regularExpressionWithPattern:@"/^.*\\.pdf$/" options:NSRegularExpressionCaseInsensitive error:&error];
NSRegularExpression *regexDOC = [NSRegularExpression regularExpressionWithPattern:@"/^.*\\.(doc|docx)$/" options:NSRegularExpressionCaseInsensitive error:&error];
    NSUInteger numMatch = [regexPDF numberOfMatchesInString:fileType options:0 range:NSMakeRange(0, [fileType length])];
    NSLog(@"How many matches were found? %@", numMatch);

Мои вопросы: есть ли более простой способ сделать это? Если нет, мое регулярное выражение неверно? И, наконец, если мне придется это использовать, дорого ли это во время выполнения? Я не знаю, какое количество файлов в среднем будет у пользователя.

Спасибо.

52
задан TheJer 11 February 2012 в 12:52
поделиться