ファイルidとそのファイル名+拡張子を含むNSMutable辞書には、fileone.docまたはfiletwo.pdfという単純な形式で格納されています。自分のUITableViewに関連するアイコンを正しく表示するには、どのタイプのファイルであるかを判断する必要があります。これまで私が行ってきたことがあります。NSStringに含まれるファイルの拡張子を取得
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
私は私が探しているファイルの種類を決定するために、2つの正規表現を書いたが、彼らは肯定的な結果を返すことはありません。以前は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);
私の質問には、これを行う簡単な方法がありますか?そうでなければ、私の正規表現は間違っていますか?最後に、これを使用する必要がある場合は、実行時間がかかりますか?私はユーザーが持っているファイルの平均量が何であるか分からない。
ありがとうございます。
ああ、NSStringに 'pathExtension'プロパティがあることを知らなかった – remy
Objective-Cは物事を簡単にするだけです。私はそのような難しい解決策を考えないといけない! Davidに感謝します。 – TheJer
私はうまくいきませんでした。自分自身でこの機能を試してみました。 – Will