是否可以使用indexOfObject:
NSArray
或objectForKey:
NSDictionary
的{{1}}而不区分大小写?
所以,如果我有一个数组:
@[@"Apple", @"Banana", @"Peach"]
然后
[array indexOfObject:@"apple"]
可以给我0?
由于
答案 0 :(得分:1)
如果额外的工作和一个坏主意,这是可能的。区分大小写是一种人类的想法。当词典中的键是字符串(通常它们应该是)时,Apple和apple之间的区别是不同的unichar和不同的哈希值。
尝试这样做会很难降低性能。
也就是说,您可能有充分的理由这样做,在这种情况下,您可以获取所有键的数组,使用caseInsensitiveCompare执行containsObject然后在索引匹配时使用该对象。但你可能仍然一无所获。
如果您的密钥来自用户输入或JSON或其他东西,您可能最好清理它们或以其他方式将它们标准化。