死去活来的OC NSArray 中文排序 及输出

目的

1、NSArray 可以支持中文排序

2、NSLog 可以直接输出 NSArray 内的中文(其实 java 直接打印数组也不能显示内容哈)

又是死去活来的搞了1个小时,分类实现,废话少说,上代码

main.m

#import <Foundation/Foundation.h
#import "NSArray+Log.h"

int main(int argc, const char * argv[]) {

NSArray * arr = [NSArray arrayWithObjects:@"王二麻",@"张三",@"李四", nil];
        NSArray * arr1 =[arr sortedLocal];
        NSLog(@"%@",arr1 );
}

NSArray+Log.h

#import <Foundation/Foundation.h>

@interface NSArray (Log)
- (NSArray *)sortedLocal;
@end

NSArray+Log.m

#import "NSArray+Log.h"

@implementation  NSArray (Log)

- (NSString *)descriptionWithLocale:(id)locale
{
    // 遍历数组中的所有内容,将内容拼接成一个新的字符串返回
    NSMutableString *strM = [NSMutableString string];

    [strM appendString:@"(\n"];

    // 遍历数组,self就是当前的数组
    for (id obj in self) {
        // 在拼接字符串时,会调用obj的description方法
        [strM appendFormat:@"\t%@,\n", obj];
    }

    [strM appendString:@")"];

    return strM;
}

- (NSArray *)sortedLocal{
    NSArray* sortedArray = [self sortedArrayUsingComparator:^(id a, id b)
                            {
                                NSString* s1 = (NSString*)a;
                                NSString* s2 = (NSString*)b;
                                return [s1 localizedCompare: s2];

                            }];
    return sortedArray;
}

@end

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-11-13 17:18:21

死去活来的OC NSArray 中文排序 及输出的相关文章

一月十日练习习题,1数组数据存入字典并输出2降序 和倒叙 输出数组中内容3对字符串当中信息进行查找是否存在4 把数组当中信息尽心中文排序

// //  main.m //  Pratise_Jan10_1 // //  Created by wangyang on 16/1/10. //  Copyright (c) 2016年 Wangyang. All rights reserved. // #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { /* 第1题 请将如下数据存储成字典,并将字典

关于字典与数组的倒叙,自定义排序,中间目录、中文排序

// //  main.m //  10.1.2 // //  Created by fwzx11 on 16/1/10. //  Copyright (c) 2016年 Blue Mobi. All rights reserved. // #define NSLog(FORMAT, ...) fprintf(stderr,"%s\n",[[NSString stringWithFormat:FORMAT, ##__VA_ARGS__] UTF8String]); #import &l

练习 字符串存入字典 数组的降序 倒序 字符串目录存不存在 数组中文排序

#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { /* 第1题 请将如下数据存储成字典,并将字典内容以字符串形式输出,输出:"XXX,年龄XXX岁,科目XXX,分数XXX"(将XXX替换为相应的数据). */ NSString *name = @"张三"; NSInteger age = 22; NSNumber 

关于数组的倒叙、降序、目录是否包含文件、中文排序等等

int main(int argc, const char * argv[]) { @autoreleasepool { /* 第1题 请将如下数据存储成字典,并将字典内容以字符串形式输出,输出:"XXX,年龄XXX岁,科目XXX,分数XXX"(将XXX替换为相应的数据). */ //        NSString *name = @"张三"; //        NSInteger age = 22; //        NSNumber  *[email pr

中文排序哈哈

// // main.m // 之前1 // // Created by syrcfwzx on 16/1/11. // Copyright (c) 2016年 syrcfwzx. All rights reserved. // #import <Foundation/Foundation.h> #define NSLog(FORMAT, ...) printf("%s\n", [[NSString stringWithFormat:FORMAT, ##__VA_ARGS_

IOS中文排序学习

前言: 最近有中文排序的需要,发现系统没有提供中文排序的方法,于是参考学习了网上前辈的代码实现了中文排序功能,本文记录的就是学习实现中文排序的过程. 实现英文排序 系统提供了英文排序的方法.写了一个逆的数组,排序后正序: // 数组英文begin NSMutableArray *dataArray=[NSMutableArray array]; [dataArray addObjectsFromArray:@[@"d",@"c",@"b",@&q

iOS 中文排序

这里分享一个中文排序的一个便捷方法,整理了一个网络的资源自己封装成一个类别方便以后使用, 这里贴出使用的方法,源码可以在本文最后下载. 要记得加头文件 #import "NSArray+SortedChinAndEng.h" 这个头文件在源码中. NSArray *[email protected][ @"小明", @"微博", @"你好", @"小米", @"腾讯", @"再

输入password登录到主界面,录入学生编号,排序后输出

n 题目:输入password登录到主界面,录入学生编号,排序后输出 n 1.  语言和环境 A.实现语言 C语言 B.环境要求 VC++ 6.0 n 2.  要求 请编写一个C语言程序.将若干学生编号按字母顺序(由小到大)输出. 程序的功能要求例如以下: 1)  输入password"admin",正确则进入主界面,错误则直接推出(exit(0)): 2)从键盘输入5个学生编号"BJS1001","BJS2001"."BJS1011&

PHP与MYSQL中UTF8 中文排序例子

1. 需要在php数组中用中文排序,但是一般使用utf8格式的文件,直接用asort排序不行.用gbk和gb2312可以.这跟几种格式的编码有关系.gbk和gb2312本身的编码就是用拼音排序的. 代码如下 复制代码 function utf8_array_asort(&$array){if(!isset($array) || !is_array($array)){return false;}foreach($array as $k=>$v){$array[$k] = iconv('UTF-