if(NSOrderedAscending == result)可以解释一下

Coc*_*Dev 11 compare nsstring ios4 ios

我阅读了Apple的文档,有时感觉Apple的文档过于复杂.

NSStringCompareOptions  compareOptions = NSDiacriticInsensitiveSearch;

if(NSOrderedAscending == result)
Run Code Online (Sandbox Code Playgroud)

这是否意味着字符串不匹配?

Dar*_*ust 45

NSOrderedAscending意味着:左操作数小于右操作数. NSOrderedDescending表示相反:左操作数大于右操作数.

平等表示为NSOrderedSame:两个操作数相等.

  • @Cocoa Dev:字符串比较使用"词汇排序"(或者小学校的孩子会按字母顺序调用).你需要考虑超越"ASCII" - NSStrings可以包括非ASCII字符,如å或ç.在许多情况下,您需要使用比较方法,如`-localizedCompare:`,它使用当前语言环境的相应比较/排序.(例如,'å'来自'á'之前或之后,还是应该被认为是"相等"?本地化的比较方法知道那种东西,所以你不必这样做.) (2认同)