【发布时间】:2013-12-09 15:18:58
【问题描述】:
我想问你,在 Objective-C 中执行类似switch (…) NSStrings 语句的最有效方法是什么。
我想做的是一个函数,我发送一个文件扩展名(doc、txt、...)并获得它的 MIME 类型。
我在考虑一些 key->value 数组,但我不确定是否是最好的方法。
你有什么建议?
【问题讨论】:
标签: objective-c switch-statement mime-types
我想问你,在 Objective-C 中执行类似switch (…) NSStrings 语句的最有效方法是什么。
我想做的是一个函数,我发送一个文件扩展名(doc、txt、...)并获得它的 MIME 类型。
我在考虑一些 key->value 数组,但我不确定是否是最好的方法。
你有什么建议?
【问题讨论】:
标签: objective-c switch-statement mime-types
声明一个从文件扩展名到 mime 类型的静态字典映射并简单地查询它:
NSDictionary *mimeTypes = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
mimeType = @{
@"txt" : @"text/plain",
@"doc" : @"application/msword",
....
};
});
NSString *mimeType = mimeTypes[@"txt"]; // result: @"text/plain"
【讨论】: