有没有一种方法可以获得NSMutableArray的Max和Min

Mik*_*han 14 max min nsmutablearray ios

在iOS中有没有办法让我获得一个双数的NSMutableArray的Max和Min值.我正在寻找一个已经存在的方法,而不是我自己对数组进行排序.如果有一种方法可以让我构建API,让我对我感兴趣的数组进行排序.

谢谢

Jas*_*oco 46

如果你想简单地获得最小和最大双打:

NSNumber* min = [array valueForKeyPath:@"@min.self"];
NSNumber* max = [array valueForKeyPath:@"@max.self"];
Run Code Online (Sandbox Code Playgroud)

如果你想简单地对它们进行排序:

// the array is mutable, so we can sort inline
[array sortUsingSelector:@selector(compare:)];
Run Code Online (Sandbox Code Playgroud)

NSNumber课程将很好地排序只是用compare:,但如果你需要做更复杂的排序,你可以用-sortUsingComparator:它需要一个块来进行排序的方法.还有一些方法NSArray将返回已排序的新数组,而不是修改当前数组.有关更多信息,请参阅NSArrayNSMutableArray的文档.

  • @MikeKhan这不是在`NSArray`上定义的方法.它在`NSKeyValueCoding`协议中定义,`NSObject`实现.您可以在此处找到文档:https://developer.apple.com/library/ios/#documentation/Cocoa/Reference/Foundation/Protocols/NSKeyValueCoding_Protocol/Reference/Reference.html#//apple_ref/occ/cat/NSKeyValueCoding (2认同)