排序NSArray里的數據

1、數組里面的元素不是數字類型

???????

這類數組排列前需要先進行轉換類型:

通過NScomparator定義一個比較方法,然后調用這個方法進行排序。

? ? ?? (NSComparisonResult)NSOrderedDescending: 比較結果后升序排列

? ? ?? (NSComparisonResult)NSOrderedAscending:比較結果后降序排列

? ? ?? (NSComparisonResult)NSOrderedSame:不變

通過這個方法得到結果:

2、數組里的元素為字符串

???????? 例如:

如果數組里的元素是這種類型的,就不能轉換成NSInteger類型,需要用字符串比較法,代碼為:

NSStringCompareOptions字符串比較方式枚舉:

? ? ? ? ? ? ? NSCaseInsensitiveSearch - 不區分大小寫比較

? ? ? ? ? ? ? NSNumericSearch - 按照字符串里的數字為依據,算出順序

? ? ? ? ? ? ? NSWidthInsensitiveSearch - 忽略字符串的長度,比較出結果

? ? ? ? ? ? ? NSForcedOrderingSearch - 忽略不區分大小寫比較的選項,并強制返回 NSOrderedAscending 或者 NSOrderedDescending

設定好選項后還是通過NSComparator定義一個比較方法,用NSRange設置好字符串的比較長度,最后得到的結果為:

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容