Objective c 分类NSArray igonring Umlauts
我想对我拥有的数组进行排序,以便将Umlauts视为字符的正常版本(ä==a,等等)。我认为本地化的CaseInsensitive比较:应该这样做。但事实并非如此。有人吗 最佳Objective c 分类NSArray igonring Umlauts,objective-c,cocoa-touch,sorting,nsarray,diacritics,Objective C,Cocoa Touch,Sorting,Nsarray,Diacritics,我想对我拥有的数组进行排序,以便将Umlauts视为字符的正常版本(ä==a,等等)。我认为本地化的CaseInsensitive比较:应该这样做。但事实并非如此。有人吗 最佳 –f本地化CaseInsensitiveCompare:使用用户选择的当前语言中的标准规则进行比较,忽略大小写。在你的情况下,你想要忽略变音符号,而不是情况。这意味着你需要做些别的事情 您需要使用compare:options:并将NSDiacriticInsensitiveSearch作为选项传递。看 要使用它对数组进
–f本地化CaseInsensitiveCompare:使用用户选择的当前语言中的标准规则进行比较,忽略大小写。在你的情况下,你想要忽略变音符号,而不是情况。这意味着你需要做些别的事情 您需要使用
compare:options:
并将NSDiacriticInsensitiveSearch
作为选项传递。看
要使用它对数组进行排序,您需要使用sortedArrayUsingComparator:
使用一个块,或者在NSString
中实现一个category方法,并将该选择器传递给sortedArrayUsingSelector:
。别忘了给category方法加前缀,这样它就不会与框架中的私有方法重叠。所以,做一些类似的事情
@interface NSString (myaddition)
-(NSComparisonResult)mySecretDiacriticsInsensitveCompare:(NSString*)string;
@end
localizedCaseInsensitiveCompare:
使用用户选择的当前语言中的标准规则进行比较,忽略大小写。在你的情况下,你想要忽略变音符号,而不是情况。这意味着你需要做些别的事情
您需要使用compare:options:
并将NSDiacriticInsensitiveSearch
作为选项传递。看
要使用它对数组进行排序,您需要使用sortedArrayUsingComparator:
使用一个块,或者在NSString
中实现一个category方法,并将该选择器传递给sortedArrayUsingSelector:
。别忘了给category方法加前缀,这样它就不会与框架中的私有方法重叠。所以,做一些类似的事情
@interface NSString (myaddition)
-(NSComparisonResult)mySecretDiacriticsInsensitveCompare:(NSString*)string;
@end