Cocoa 什么NSString比较方法调用等效于CFStringCompare函数调用?

Cocoa 什么NSString比较方法调用等效于CFStringCompare函数调用?,cocoa,comparison,nsstring,macos-carbon,cfstring,Cocoa,Comparison,Nsstring,Macos Carbon,Cfstring,我正在将一些旧的carbon代码转换为Cocoa,需要使用一个比较函数,该函数将返回与carbon中相同的结果 我打电话: CFStringCompare( stringA, stringB, kCFCompareCaseInsensitive | kCFCompareDiacriticInsensitive | kCFCompareNumerically ); 现在,如果stringA和stringB是NSString的,我想用NSString方法比较它们,那么哪一个,有哪些选项(如果有的话

我正在将一些旧的carbon代码转换为Cocoa,需要使用一个比较函数,该函数将返回与carbon中相同的结果

我打电话:

CFStringCompare( stringA, stringB, kCFCompareCaseInsensitive | kCFCompareDiacriticInsensitive | kCFCompareNumerically );

现在,如果stringA和stringB是NSString的,我想用NSString方法比较它们,那么哪一个,有哪些选项(如果有的话),将返回与上面的CFStringCompare函数相同的结果?

[string1 IsequalString:string2]

[string1区分大小写的比较:string2]

等等


转到NSString类参考以了解更多信息

答案似乎是:

NSStringCompareOptions  compareOptions = NSCaseInsensitiveSearch | NSNumericSearch | NSDiacriticInsensitiveSearch;

result = [stringA compare:stringB options:compareOptions];

我不相信这是真的。文档中说:'例如,以组合字符序列“O”表示的“Ö”和umlaut不会与以一个Unicode字符表示的“Ö”相比较。'我很确定,KCFComparediacriticnSensitive选项会说这两个字符是相等的。是的,有许多方法具有不同的选项。哪一个与问题中的CFStringCompare函数匹配。然后将NSString转换为CFString并从那里开始