代码之家  ›  专栏  ›  技术社区  ›  aahrens

按自定义方法对NSString数组排序

  •  1
  • aahrens  · 技术社区  · 14 年前

    如何使用自定义方法对NSString对象数组进行排序。例如我有一个方法

    -(int)calculateValue:(NSString *)aString
    

    我想根据此方法返回的值按降序对数组进行排序。例如,我有一个数组

    NSMutableArray *array = [[NSMutableArray alloc] initWithObjects:@"Apple", @"Bee", @"Super", nil];
    

    现在,如果我为每个字符串调用calculateValue,它可能返回如下值。

    “苹果”=15,“蜜蜂”=21,“超级”=3。现在我尝试根据calculateValue方法中每个NSString的返回值对该数组进行排序。所以排序数组希望

    [Bee, Apple, Super]
    
    1 回复  |  直到 14 年前
        1
  •  3
  •   Joshua Nozzi    14 年前

    -sortedArrayUsingSelector: . 你将输入一个选择器 @selector(myComparisonMethod:) . 比较方法应返回NSComparisonResult,如NSOrderedAscending、NSOrderedAscending或NSOrderedSame。