數(shù)組中元素按照一定規(guī)則排序NSSortDescriptor簡(jiǎn)單使用

數(shù)組中元素按照一定規(guī)則排序

主要是NSSortDescriptor這個(gè)類 代碼

NSArray *array = @[@"one", @"two", @"three", @"four", @"six"];
    
    //創(chuàng)建一個(gè)排序條件,也就是一個(gè)NSSortDescriptor對(duì)象
    
    //其中第一個(gè)參數(shù)為數(shù)組中對(duì)象要按照什么屬性來(lái)排序(比如自身、姓名,年齡等)
    
    //第二個(gè)參數(shù)為指定排序方式是升序還是降序
    
    //ascending  排序的意思,默認(rèn)為YES 升序
    
    NSSortDescriptor *des = [[NSSortDescriptor alloc] initWithKey:@"self" ascending:YES];
    
    NSArray *newArray = [array sortedArrayUsingDescriptors:@[des]];
    
    NSLog(@"%@",newArray);

多條件排序

Person *p1 = [[Person alloc] initWithName:@"zhonger" age:@"19"];
    Person *p2 = [[Person alloc] initWithName:@"zhubada" age:@"11"];
    Person *p3 = [[Person alloc] initWithName:@"zhubada" age:@"1"];
    Person *p4 = [[Person alloc] initWithName:@"zhubada" age:@"33"];
    Person *p5 = [[Person alloc] initWithName:@"hehehe" age:@"38"];
    NSArray *person = @[p1, p2, p3, p4, p5];
    
    NSSortDescriptor *des1 = [[NSSortDescriptor alloc]initWithKey:@"name" ascending:NO];
    
    NSSortDescriptor *des2 = [[NSSortDescriptor alloc] initWithKey:@"age" ascending:NO];
    // 可以用sortedArrayUsingDescriptors:方法實(shí)現(xiàn)把多個(gè)排序條件放到數(shù)組中,實(shí)現(xiàn)多條件排序,按數(shù)組先后順序,先加入的優(yōu)先級(jí)高

    NSArray *newArray1 = [person sortedArrayUsingDescriptors:@[des1,des2]];
    for (Person *p in newArray1) {
        NSLog(@"姓名:%@ , 年齡:%@",p.name,p.age);
        
    }

注意這兩個(gè)方法 可變數(shù)組和不可變數(shù)組


Snip20170321_3.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 從三月份找實(shí)習(xí)到現(xiàn)在,面了一些公司,掛了不少,但最終還是拿到小米、百度、阿里、京東、新浪、CVTE、樂(lè)視家的研發(fā)崗...
    時(shí)芥藍(lán)閱讀 42,818評(píng)論 11 349
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,160評(píng)論 25 708
  • 為什么在別人眼中越是十拿九穩(wěn)的事兒,我越是感到恐慌,沒(méi)有底氣。
    小小大大Smile閱讀 196評(píng)論 0 0
  • 覺(jué)照心靈(七)之感應(yīng)力 及時(shí)覺(jué)察心靈的狀態(tài),需要靈敏的感應(yīng)力。所有的力量都原原本本地存在,人與宇宙原本可以全息地連...
    袁一今閱讀 1,209評(píng)論 0 2
  • “我說(shuō)你們都怎么辦事的?!?嚴(yán)林剛剛聽(tīng)到自己下屬匯報(bào)的第一個(gè)字就面露不悅,在背后四尉的白眼之中,那位人高馬大的內(nèi)聯(lián)...
    Mod模君閱讀 234評(píng)論 0 0

友情鏈接更多精彩內(nèi)容