美文网首页
字符串通过ASSIC升序排列

字符串通过ASSIC升序排列

作者: 李某lkb | 来源:发表于2018-07-06 10:59 被阅读12次

如果你碰到如题的要求.那么我分享的一个小方法就很适合你.

可以根据需要改改就能符合项目的要求了.希望对你有帮助!


// 传入一个原始字典,依据ascii码从小到大排序,回传一个排好序的待签名字符串
- (NSString *)sortArrWithDictionary:(NSDictionary *)dictionary {
    // 取出所有的key值
    NSArray *keys = [dictionary allKeys];
    //按字母顺序排序
    NSArray *sortedArray = [keys sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2) {
        return [obj1 compare:obj2 options:NSNumericSearch];
    }];
    // 将排好的序的key值重新赋值
    NSMutableArray *jsonArr = [NSMutableArray array];
    [sortedArray enumerateObjectsUsingBlock:^(NSString * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
        // 取出每一个keyValue值
        NSString *str = dictionary[obj];
        
//        = [NSString stringWithFormat:@"\"%@\":\"%@\"", obj, dictionary[obj]];
        
        [jsonArr addObject:str];
        
    }];
    // 将做好排序的数组转出字符串
    NSString *result = [jsonArr componentsJoinedByString:@""];//&
    
    result = [NSString stringWithFormat:@"%@", result];
    
    return result;
}


相关文章

网友评论

      本文标题:字符串通过ASSIC升序排列

      本文链接:https://www.haomeiwen.com/subject/xvevuftx.html