gpt4 book ai didi

ios - 按元素的属性对元素的对象数组进行排序

转载 作者:行者123 更新时间:2023-11-28 21:39:46 31 4
gpt4 key购买 nike

我有课。让我们调用这个类 MyObject

MyObject 有一个名为 item 的属性。

如果我创建一个 MyObject 的实例,instanceOfObject.item 是一个 NSMetadataItem

NSMetadataItem 有一个名为 NSMetadataItemFSNameKey 的属性。

我有一个 MyObjects 数组,我想按属性 NSMetadataItemFSNameKey 对该数组进行排序。

我试过了

NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:NSMetadataItemFSNameKey
ascending:YES];

[array sortUsingDescriptors:@[sortDescriptor]];

但这显然会崩溃,因为 NSMetadataItemFSNameKey 不是 array 的键。正如我所说,NSMetadataItemFSNameKeyinstanceOfObject.item 的一个属性。

有没有办法使用 NSSortDescriptors 来做到这一点?

最佳答案

我不确定这是否是您要查找的内容,但我使用这种方法按指定的 NSString 属性对自定义对象数组进行排序:

//Sort the list alphabetically by propertyName
NSArray* sortedArray;
sortedArray = [startingArray sortedArrayUsingComparator:^NSComparisonResult(id a, id b) {
NSString* first = [(WSCustomObject*)a propertyName];
NSString* second = [(WSCustomObject*)b propertyName];
return [first compare:second];
}];

您只需要确保#import 进行此调用的自定义类 header 。您还可以通过对这种方法稍作修改来比较其他数据类型。如果您有 NSString 以外的特定数据类型,请告诉我它是什么,我可以帮助您修改它(或者我可能已经有了它的示例,我可以向您展示)。

关于ios - 按元素的属性对元素的对象数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32642200/

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