1

ファイルディレクトリをドロップボックスからmutablearrayに解析して、テーブルビューに表示します。

ファイル拡張子を比較するにはどうすればよいですか?(.doc、または.jpg、....)

if ([[NSString stringWithFormat:@"%@",[test objectAtIndex:indexPath.row]] isEqualToString:@"??????"] ) {

    [cell.extensionView setImage:[UIImage imageNamed:@"word.png"]];
}

isEqualToWhat?ワイルドカードを使用することは可能ですか?

4

1 に答える 1

2

stringWithFormat実際にフォーマットがない場合は使用しないでください。次のようなことをすると、コードがずっときれいになります。

NSString *filename = [text objectAtIndex:indexPath.row];
NSString *ext = [filename pathExtension];
if ([ext isEqualToString:@"doc"]) {
    [cell.extensionView setImage:[UIImage imageNamed:@"word.png"]];
} else if ([ext isEqualToString:@".jpg"]) {
    [cell.extensionView setImage:[UIImage imageNamed:@"jpeg.png"]];
}

if-elseこの大きなブロックを設定するよりも良い方法があります。確認したい拡張機能がたくさんあると思います。拡張子と画像を使用して辞書をセットアップします。何かのようなもの:

NSDictionary *extensionThumbnails = @{
    @"doc" : [UIImage imageNamed:@"word.png"],
    @"xls" : [UIImage imageNamed:@"excel.png"],
    @"jpg" : [UIImage imageNamed:@"jpeg.png"]
};

拡張子と画像ごとにエントリを追加します。次に、元のコード (現在は最新の Objective-C 構文を使用) は次のようになります。

NSString *filename = text[indexPath.row];
NSString *ext = [filename pathExtension];
UIImage *thumbnail = extensionThumbnails[ext];
if (!thumbnail) {
    thumbnail = [UIImage imageNamed:@"unknown.png"];
}
[cell.extensionView setImage:thumbnail];
于 2012-12-01T17:11:37.307 に答える