在 iPhone 中实现 NSSortDescriptor?

发布于 2024-12-18 12:20:10 字数 480 浏览 0 评论 0原文

我有一个名为 nsmarrMedicineInfo 的 nsmutablearray。我想使用 NSSortDescriptor 对元素进行排序。当我执行以下代码时,它显示 NSUnknownKeyException。我找不到数组的键是什么。

NSSortDescriptor *sortDescriptor = [[[NSSortDescriptor alloc] initWithKey:@"sort" ascending:YES selector:@selector(localizedCaseInsensitiveCompare:)] autorelease];
NSArray *sort = [NSArray arrayWithObject:sortDescriptor];
NSArray *sortedArray = [nsmarrMedicineInfo sortedArrayUsingDescriptors:sort];

I have an nsmutablearray named nsmarrMedicineInfo. I want to sort the element by using NSSortDescriptor. When I execute the following code it shows NSUnknownKeyException. I can not find what will be the key of the array.

NSSortDescriptor *sortDescriptor = [[[NSSortDescriptor alloc] initWithKey:@"sort" ascending:YES selector:@selector(localizedCaseInsensitiveCompare:)] autorelease];
NSArray *sort = [NSArray arrayWithObject:sortDescriptor];
NSArray *sortedArray = [nsmarrMedicineInfo sortedArrayUsingDescriptors:sort];

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

灼痛 2024-12-25 12:20:10

这里的 key 将是数组 nsmarrMedicineInfo自定义对象的属性(键值对)之一,您希望根据该属性对您的大批。
正如苹果的文档中所示:

NSSortDescriptor 的实例描述了对对象进行排序的基础
通过指定用于比较对象的属性,该方法
用于比较属性,以及比较是否应该
升序或降序。

但是,如果 nsmarrMedicinInfo 对象仅由字符串组成,那么您可以使用 sortedArrayUsingSelector 方法而不是 sortDescriptor

谢谢,

Here key will be one of the property(key-value pair) of your custom object of array nsmarrMedicineInfo, on which you wish to sort your array.
As in apple's doc:

An instance of NSSortDescriptor describes a basis for ordering objects
by specifying the property to use to compare the objects, the method
to use to compare the properties, and whether the comparison should be
ascending or descending.

But if nsmarrMedicinInfo object consists of strings only then you can use sortedArrayUsingSelector method instead of sortDescriptor.

Thanks,

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文