gpt4 book ai didi

ios - 如何获取文件扩展名(比较)

转载 作者:行者123 更新时间:2023-11-29 11:05:50 26 4
gpt4 key购买 nike

我正在将保管箱中的文件目录解析为可变数组,以在表格 View 中显示它。

如何比较文件扩展名? (.doc 或 .jpg,....)

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

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

等于什么?是否可以使用通配符?

最佳答案

不要使用 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 block 更好的方法。我想您有很多不同的扩展名要检查。使用扩展名和图像设置字典。像这样的东西:

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];

关于ios - 如何获取文件扩展名(比较),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13660145/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com