美文网首页
iOS - NSComparisonResult类与NSComp

iOS - NSComparisonResult类与NSComp

作者: SkyMing一C | 来源:发表于2017-11-28 22:03 被阅读82次
图片源于网络
NSComparisonResult类:枚举类型, 来标示比较操作的升降序。其定义如下
typedef NS_ENUM(NSInteger, NSComparisonResult) {NSOrderedAscending = -1L, NSOrderedSame, NSOrderedDescending};

参数解释

  • NSOrderedAscending
    • The left operand is smaller than the right operand.(左边的操作对象小于右边的对象)
  • NSOrderedSame
    • The two operands are equal.(左边的操作对象等于右边的对象)
  • NSOrderedDescending
    • The left operand is greater than the right operand.(左边的操作对象大于右边的对象)
NSComparator类:实际上是用一个block对象作比较操作(The arguments to the Block object are two objects to compare. The block returns an NSComparisonResult value to denote the ordering of the two objects)。其定义如下:
typedef NSComparisonResult (^NSComparator)(id obj1, id obj2); 

参数解释

  • id obj1 与 id obj2
    • 将要做比较的对象。
  • block
    • 返回的结果为NSComparisonResult类型来表示两个对象的顺序

使用范例:

NSArray *sortedArray = [array sortedArrayUsingComparator: ^(id obj1, id obj2) {
 
    if ([obj1 integerValue] > [obj2 integerValue]) {
        return (NSComparisonResult)NSOrderedDescending;
    }
 
    if ([obj1 integerValue] < [obj2 integerValue]) {
        return (NSComparisonResult)NSOrderedAscending;
    }
    return (NSComparisonResult)NSOrderedSame;
}];

相关文章

网友评论

      本文标题:iOS - NSComparisonResult类与NSComp

      本文链接:https://www.haomeiwen.com/subject/qgefbxtx.html