iphone - 如何在 iPhone 中对 NSMutableArray 值 Aa-Zz 进行排序?

标签 iphone ios sorting nsmutablearray

我正在尝试在 iPhone 应用程序中按 Aa-Zz 格式对 NSMutablArray 值进行排序。我在我的项目中使用了以下代码。

for (id key in [dictionary allKeys])
        {
            id value = [dictionary valueForKey:key];
            [duplicateArray addObject:value];
            [value release];
            value =nil;
            NSSortDescriptor *sortdis = [[[NSSortDescriptor alloc] initWithKey:@"Name" ascending:YES] autorelease];
            NSArray *discriptor = [NSArray arrayWithObjects:sortdis,nil];
            mutableArray = [[duplicateArray sortedArrayUsingDescriptors:discriptor]retain];
        }   
        NSLog(@"mutableArray : %@", mutableArray);
[mutableArray sortUsingSelector:@selector(caseInsensitiveCompare:)];

应用程序崩溃并显示以下错误日志:[__NSArrayI sortUsingSelector:]: 无法识别的选择器发送到实例。

但是,我已经搜索并找到了崩溃的原因。我的 mutableArray 值是这样的,

(
        {
        Id = 00001;
        Name = "ABCD";
    },
        {
        Id = 00002;
        Name = "BCDE";
    },
        {
        Id = 00003;
        Name = "ZXYS";
    },
        {
        Id = 00004;
        Name = "abcd";
    },
        {
        Id = 00009;
        Name = "bcde";
    },
)

我想对这个数组值进行排序,如ABCD、abcd、BCDE、bcde、ZXYs。 谁能帮忙解决这个问题吗?

最佳答案

戈皮纳特。请在您的项目中使用此更新的代码。

    for (id key in [dictionary allKeys])
    {
        id value = [dictionary valueForKey:key];
        [duplicateArray addObject:value];
        [value release];
        value =nil;
        NSSortDescriptor *sortdis = [[[NSSortDescriptor alloc] initWithKey:@"Name" ascending:YES selector:@selector(localizedCaseInsensitiveCompare:)]autorelease];
        NSArray *discriptor = [NSArray arrayWithObjects:sortdis,nil];
        mutableArray = [[duplicateArray sortedArrayUsingDescriptors:discriptor]retain];
    }   
    NSLog(@"mutableArray : %@", mutableArray);

希望对你有帮助。谢谢。

关于iphone - 如何在 iPhone 中对 NSMutableArray 值 Aa-Zz 进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11273684/

相关文章:

ios - 如何在 segue 之前更新选定的行?

ios - 是否可以在通知服务扩展中获取 apns-collapse-id?

ios - 如何获取每个地理位置的照片?

javascript - 为 Javascript 数组排序注入(inject)对象而不是函数

algorithm - 搜索已排序的二维矩阵

iphone - 如何格式化要使用 arrayWithContentsOfFile 读取的文本文件

javascript - 向用户显示所有 iPhone 屏幕交互事件

linux - 如何在许多服务器中搜索他们的日志并对信息进行排序?

iphone - iOS 从表格 View 单元格拖放到 ImageView

iphone - 使用 ios 进行 HTTP 直播