對字典進(jìn)行排序生成sign令牌加密的時候使用

NSDictionary*params=@{@"v":@"1.2",@"suk":@"vod",@"type":@"2",@"from":@"ios",@"aoe":@"tt01",@"tyot":@"top5"};
    
    NSArray*keyArray=[params allKeys];
    
    //將鍵進(jìn)行排序
    NSArray *sortArray = [keyArray sortedArrayUsingComparator:^NSComparisonResult(id  _Nonnull obj1, id  _Nonnull obj2) {
        return [obj1 compare:obj2 options:NSNumericSearch];
    }];
    

    NSLog(@"sortKeyArr->%@",sortArray);
    
    //根據(jù)鍵獲取對應(yīng)的值進(jìn)行排序
    NSMutableArray *valueArray = [NSMutableArray array];
    for (NSString *sortString in sortArray) {
        [valueArray addObject:[params objectForKey:sortString]];
    }

    NSLog(@"sortValueArr->%@",valueArray);
    
    //鍵值對拼接成數(shù)組
    NSMutableArray *signArray = [NSMutableArray array];
    for (int i = 0; i < sortArray.count; i++) {
        NSString *keyValueStr = [NSString stringWithFormat:@"%@:%@",sortArray[i],valueArray[i]];
        [signArray addObject:keyValueStr];
    }

    NSLog(@"signArray->%@",signArray);
    
    
    NSString*paramStr2=@"aoe=tt01&from=ios&suk=vod&tyot=top5&type=2&v=1.2";

    //將數(shù)組拆分成字符串進(jìn)行&拼接
    NSString *sign = [signArray componentsJoinedByString:@"&"];

    NSLog(@"%@",sign);
    //將數(shù)組中的':'替換成'='號
    NSString*replaceArr=[sign stringByReplacingOccurrencesOfString:@":" withString:@"="];
    NSLog(@"%@",replaceArr);
    NSArray *array = [NSArray arrayWithObjects:@"z",@"2", @"3", @"1", @"4",@"b",@"a",@"c", nil];
    
    // 返回一個排好序的數(shù)組,原來數(shù)組的元素順序不會改變
    // 指定元素的比較方法:compare:
    NSArray *array2 = [array sortedArrayUsingSelector:@selector(compare:)];
    NSLog(@"array2:%@", array2);
    
    
    
    NSMutableArray *p = [[NSMutableArray alloc] initWithObjects:@"S1",@"S14",@"S14",@"S4",@"S12",@"S6",@"S7",@"S8",@"S9",@"S10",@"S11",@"S5",@"S13",@"S2",nil];
    
    [p sortUsingComparator:^NSComparisonResult(id obj1, id obj2) {
        NSString *a = (NSString *)obj1;
        NSString *b = (NSString *)obj2;
        
        int aNum = [[a substringFromIndex:1] intValue];
        int bNum = [[b substringFromIndex:1] intValue];
        
        if (aNum > bNum) {
            return NSOrderedDescending;
        }
        else if (aNum < bNum){
            return NSOrderedAscending;
        }
        else {
            return NSOrderedSame;
        }
    }];
    
    NSLog(@"p %@", p);
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

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

  • 他在河上的小橋遇到她。他剛回到這里的時候,他們相識的第七個年頭,分別的第五個年頭。 他沒什么變化,男人能有什么變化...
    陳江都閱讀 394評論 1 2
  • 林清玄說:“浪漫,就是浪費(fèi)時間慢慢吃飯,浪費(fèi)時間慢慢喝茶,浪費(fèi)時間慢慢走,浪費(fèi)時間慢慢變老?!蹦阋彩锹哌M(jìn)我的心...
    穎想一生閱讀 889評論 1 15
  • 以為不用我去了,但是李爺爺還是通知我了,為了孩子工作先放一邊,去為他們加油打氣!
    被拋在地球的腦洞星人閱讀 183評論 0 0
  • 給你(23) 當(dāng)我看見一顆星星 劃過夜空 落下來 我要立刻許一個心愿: 祝愿我們能一直 這樣好下去 永遠(yuǎn)好下去 親...
    感恩之泉閱讀 117評論 0 0

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