gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 04:34:10 25 4
gpt4 key购买 nike

我正在尝试在 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com