NSDictionary的不区分大小写的键

kfo*_*rim 6 cocoa objective-c nsdictionary ios ios5

我试图在NSDictionary上使用对于JSON响应的incase敏感案例,因为有时我的响应键类型会有所不同,有些是驼峰式,有些是小写或其他混合组合.是否有任何内置功能可以检查此案例的灵敏度情况?

谢谢.

kee*_*hux 6

最近我分享了两个可能适合您需求的课程.它们提供不区分大小写的操作(以命名NSDictionaryNSMutableDictionary方法命名),同时保留最初插入的键.

试试看:

https://github.com/keeshux/ios-components/tree/master/Components/Utils/KSCIDictionary


Nie*_*sen 5

最好的方法是将NSDictionary的键设置为全小写或全部大写;

例如,假设我有一个字符串的NSArray.我可以在使用之前获取keyName并使用lowercaseString或uppercaseString进行转换

NSString *itemName = @"lastName"; 
itemName = [itemName lowercaseString];
Run Code Online (Sandbox Code Playgroud)

这会将字符串更改为lastname,或者如果我使用uppercaseString,它将是LASTNAME

或者您也可以在添加到字典时更改密钥名称,如下所示:

NSMutableDictionary *dict = [[NSMutableDictionary alloc] init];
[dict setObject:objectToAdd forKey:[key uppercaseString]];
Run Code Online (Sandbox Code Playgroud)