Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何获取文件扩展名(比较)_Ios_Xcode_Nsstring_Compare - Fatal编程技术网

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

Ios 如何获取文件扩展名(比较),ios,xcode,nsstring,compare,Ios,Xcode,Nsstring,Compare,我正在将dropbox中的filedirectory解析为一个可变数组,以便在表视图中显示它 如何比较文件扩展名?(.doc或.jpg,…) 什么?可以使用通配符吗?除非您确实有格式,否则不要使用stringWithFormat。如果您这样做,您的代码会更干净: NSString *filename = [text objectAtIndex:indexPath.row]; NSString *ext = [filename pathExtension]; if ([ext isEqualToS

我正在将dropbox中的filedirectory解析为一个可变数组,以便在表视图中显示它

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


什么?可以使用通配符吗?

除非您确实有格式,否则不要使用
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
有一个
pathExtension
方法,如果你想比较的话。pathExtension完美!thx wordSo Phillip应该给出他的回答,然后@HugoBoss批准,这样你们两个都会得到分数。(我无法获取Phillip要获取的@tag)
NSDictionary *extensionThumbnails = @{
    @"doc" : [UIImage imageNamed:@"word.png"],
    @"xls" : [UIImage imageNamed:@"excel.png"],
    @"jpg" : [UIImage imageNamed:@"jpeg.png"]
};
NSString *filename = text[indexPath.row];
NSString *ext = [filename pathExtension];
UIImage *thumbnail = extensionThumbnails[ext];
if (!thumbnail) {
    thumbnail = [UIImage imageNamed:@"unknown.png"];
}
[cell.extensionView setImage:thumbnail];