日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

OC-数组排序-NSSortDescriptor使用

發布時間:2024/8/24 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 OC-数组排序-NSSortDescriptor使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在Object-c中,當有一個班級類MyClass,還有一個學生類Student.在班級類MyClass中通過一個可變數組NSMutableArray保存了許多的學生對象?,F在有一個功能需要對學生進行按各種條件排序(按姓名升序,按學號降序,按成績升序)。

借用上面一個簡單的功能來了解一下Object-c中排序描述對象NSSortDescriptor對數組的排序的使用方法。

簡單的了解一下以下幾個類:Student(學生類)、MyClass(班級類)

Student:(只給接口)

1 @interface Student : NSObject 2 { 3 NSString * _name; 4 NSInteger _num; 5 NSInteger _score; 6 } 7 8 - (id)initWithName:(NSString *)name number:(NSInteger)num score:(NSInteger)score; 9 - (void)setName:(NSString *)name; 10 - (NSString *)name; 11 - (void)setNum:(NSInteger)num; 12 - (NSInteger)num; 13 - (void)setScore:(NSInteger)score; 14 - (NSInteger)score; 15 16 @end

MyClass:(接口)

@interface MyClass : NSObject {NSString * _className;NSMutableArray * _stuList; }- (id)init; - (void)setClassName:(NSString *)name; - (NSString*)className; - (void)addStudent:(Student *)student; - (void)addStudent:(Student *)student atIndex:(NSInteger) index; - (void)removeStudent:(Student *)student; - (void)removeStudentAtIndex:(NSInteger) index; - (void)replaceStudent:(Student *)student atIndex:(NSInteger) index; - (void)showStuList; - (void)sortedByNumber;//按照學號升序 - (void)sortedByScore;//按照分數降序 - (void)sortedByName;//按照名字降序- (void)sortedByNameAscByNumDescByScoreAsc; @end

MyClass:(具體實現方法)

@implementation MyClass - (void)sortedByNumber //按照學號升序 {NSSortDescriptor *sd1 = [NSSortDescriptor sortDescriptorWithKey:@"_num" ascending:YES];NSArray *sdArray = [NSArray arrayWithObjects:sd1, nil];[_stuList sortUsingDescriptors:sdArray]; // [_stuList sortedArrayUsingDescriptors:sdArray]; } - (void)sortedByScore //按照分數降序 {NSSortDescriptor *sd = [NSSortDescriptor sortDescriptorWithKey:@"_score" ascending:NO];NSArray *sdArray = [[NSArray alloc]initWithObjects:sd, nil];[_stuList sortUsingDescriptors:sdArray]; } - (void)sortedByName //按照名字降序 {NSSortDescriptor *sd = [NSSortDescriptor sortDescriptorWithKey:@"_name" ascending:NO];NSArray *sdArray = [[NSArray array] initWithObjects:sd, nil];[_stuList sortUsingDescriptors:sdArray]; } - (void)sortedByNameAscByNumDescByScoreAsc //按照名字升序,學號降序,分數升序來排列數組中的對象 {NSSortDescriptor *sdName = [[NSSortDescriptor alloc]initWithKey:@"_name" ascending:YES];NSSortDescriptor *sdNum = [[NSSortDescriptor alloc]initWithKey:@"_num" ascending:NO];NSSortDescriptor *sdScore = [NSSortDescriptor sortDescriptorWithKey:@"_score" ascending:YES];NSArray *sdArray = [[NSArray alloc] initWithObjects:sdName,sdNum,sdScore, nil];[_stuList sortUsingDescriptors:sdArray]; } @end

就由上面的?sortedByNameAscByNumDescByScoreAsc 方法來分析NSSortDescriptor對象的使用方法。

1.通過NSSortDescriptor對象的對象方法?initWithKey 或是直接通過類方法 ?sortDescriptorWithKey 生成一個NSSortDescriptor(排序描述)對象,該對象傳進一個排序關鍵字(該關鍵字是要排序的數組中元素對象的屬性),并且設置按照該關鍵字(屬性)是按照升序還是降序。

2.將NSSortDescriptor對象(可以多個)添加到一個數組中。

3.最后通過數組的方法 sortUsingDescriptors ,將第二步中的數組作為參數傳遞進去,獲得的結果就是已經排序好的數組了。

以上方法適用于可變數組和不可變數組,只是方法略微有點不一樣。

轉載于:https://www.cnblogs.com/BeyondAverage0908/p/4571638.html

總結

以上是生活随笔為你收集整理的OC-数组排序-NSSortDescriptor使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 夜夜爱夜夜操 | 日韩免费在线播放 | 国产精品伦一区 | 久热精品在线 | 成人一级视频在线观看 | 国产视频久久久久久 | 亚洲精品欧美精品 | 亚洲高潮无码久久 | 一个人看的www日本高清视频 | 婷婷色综合| 日韩成人精品在线观看 | www免费网站在线观看 | 国产乱码精品一区二区三区不卡 | 综合五月激情 | 国产91在线视频 | 波多野结衣绝顶大高潮 | 精品久久久久一区二区 | 亚洲天堂avav| 久久成人综合网 | 日精品 | 日本久久久网站 | 久热精品在线观看视频 | 一区在线视频 | heyzo北岛玲在线播放 | 欧美亚洲精品在线观看 | 亚洲毛片网站 | 亚洲毛片一区二区 | 性爽爽 | 国产婷婷色一区二区三区在线 | 在线看av网址 | www.成年人 | 老司机深夜免费福利 | 成人h动漫精品一区二区无码 | 91精产国品一二三区在线观看 | 一级性生活免费视频 | 国产亚洲一区二区三区不卡 | 日韩欧美视频免费观看 | 久久99一区二区 | 黄色小视频免费看 | 日韩一卡二卡三卡 | 国产视频污在线观看 | 国产黄色免费视频 | 91视频精选| 色污网站 | 青青草综合视频 | 欧美色图五月天 | 九九九国产视频 | 九草影院 | 亚洲成人a√ | 欧美草b| 亚洲综合视频网 | 精品视频一区在线观看 | 中国色老太hd| 亚洲大成色| 奇米影视四色777 | 久久夜色精品国产噜噜亚洲av | 一本一道久久综合狠狠老精东影业 | 日本在线观看a | av免费在线观看不卡 | 高清欧美精品xxxxx在线看 | 播色网 | 欧美人妻一区二区 | 天天天干干干 | 隔壁人妻偷人bd中字 | 一区二区日韩电影 | av中文字幕亚洲 | 男女激情在线观看 | 日韩高清不卡在线 | 成人av网址在线 | 先锋影音一区二区三区 | 91在线视频精品 | 激情五月在线观看 | 久久久国产精品黄毛片 | 国产精品最新 | 97视频精品| 致单身男女免费观看完整版 | 中文字幕一区二区三区人妻在线视频 | 在线免费观看亚洲视频 | 丁香一区二区 | 最新地址在线观看 | 国产精品久久AV无码 | 毛片视屏 | 午夜爽爽视频 | 亚洲精品乱码久久 | 在线看黄色片 | 波多野结衣视频在线观看 | 99热黄色 | 中文字幕日韩一区二区三区不卡 | 欧美成人精品一区二区免费看片 | 91偷拍网站 | 成年女人毛片 | 成人羞羞在线观看网站 | xxx毛片| 日本人妻丰满熟妇久久久久久 | 中文字幕精品一区久久久久 | av色欲无码人妻中文字幕 | 综合色在线观看 | 黄网站在线观看视频 | 制服丝袜第一页在线观看 |