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