gpt4 book ai didi

ios - 使用 nsset 键值对数组进行排序

转载 作者:行者123 更新时间:2023-11-29 01:03:00 25 4
gpt4 key购买 nike

在我的项目中,我有一些自定义对象的数组。每个对象将采用以下格式。

 {
enrollementStatus = 0;
enrollementType = 1;
titles = (
"0x7b316eb0 <x-coredata://6F003DDD-D6CD-4514-B565-FEF9203F188C/CourseText/p246>"
);}

这个对象中的标题是nsset类型。当打印这个对象时,它看起来像

   ( "<CourseText: 0x7b316f60>
(entity: CourseText; id: 0x7b316eb0 data:
{\n course = \"0x7aa69870 <x-coredata://6F003DDD-D6CD-4514-B565-FEF9203F188C/Course/p11>\";\n
descr = \"(null)\";\n
lang = \"en-US\";\n
title = CSDFFFFF;\n})"

我想根据 thistitles(NSSet 对象) 标题(字母顺序) 对这个数组进行排序。请给我一个建议

最佳答案

您可以使用 NSSortDescriptor 对 NSSet 进行排序并创建一个排序的 NSArray

NSSortDescriptor *titleSortDescriptor = [NSSortDescriptor sortDescriptorWithKey:@"title" ascending:YES];
NSArray *sortedObjects = [titles sortedArrayUsingDescriptors:@[titleSortDescriptor]];

编辑 1根据评论更新答案:

根据我的理解,你的对象结构是这样的:

  1. YourCustomObject 数组,其中 YourCustomObject 包含一个NSSet 调用了 titles
  2. titles 包含类 CourseText
  3. 的对象
  4. CourseText 有一个属性title
  5. 您想根据 CourseTexttitle 属性对 YourCustomObject 的数组进行排序。

为此,您可以使用 NSArraysortedArrayUsingComparator 方法。

//arrayOfCustomObjects is the array that contains your objects to be sorted
//Replace YourCustomObject with the actual class of the objects
NSArray* sortedArray = [arrayOfCustomObjects sortedArrayUsingComparator:^NSComparisonResult(YourCustomObject* obj1, YourCustomObject* obj2) {

NSString* title1 = ((CourseText*)obj1.titles.anyObject).title;
NSString* title2 = ((CourseText*)obj2.titles.anyObject).title;

return [str1 compare:str2];

}];

关于ios - 使用 nsset 键值对数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36790287/

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