根据核心数据中的属性对实体中的行进行排序

     2023-03-04     36

关键词:

【中文标题】根据核心数据中的属性对实体中的行进行排序【英文标题】:Sorting rows in entity based on attribute in core data 【发布时间】:2015-03-20 11:36:49 【问题描述】:

我的核心数据实体有问题。它具有与此表类似的三个属性

Name         value      details 

cat           xxx         01
apple         YYY         10
ball          ZZZ         11

我需要根据属性“名称”对表格进行排序,使实体看起来像这样

Name         value      details 

apple         YYY         10
ball          ZZZ         11
cat           xxx         01

使用以下代码仅对“名称”属性值进行排序,但我需要对整行进行排序。

  NSFetchRequest *fetchRequest1 = [NSFetchRequest fetchRequestWithEntityName:@"UserData"];
       fetchRequest1.resultType = NSDictionaryResultType;
    [fetchRequest1 setPropertiesToFetch:[NSArray arrayWithObjects:@"userName", nil]];
    fetchRequest1.returnsDistinctResults = YES;


    NSArray *dictionaries1 = [self.managedObjectContext executeFetchRequest:fetchRequest1 error:nil];
    NSSortDescriptor *sort = [NSSortDescriptor sortDescriptorWithKey:@"userName" ascending:YES selector:@selector(caseInsensitiveCompare:)];
    NSArray* sortedArray=[dictionaries1 sortedArrayUsingDescriptors:@[sort]];

有没有办法对整行进行排序并保存实体?

【问题讨论】:

嘿?具有 name、value 和 details 属性的对象是什么。 用户名、用户值和用户详细信息 SQL 等核心数据。如果要存储有关用户的信息,请创建一个名为 User 的 SINGLE 核心数据对象(就像 SQL 中的表),它具有 3 个属性。尝试查看核心数据教程以更好地理解它。 【参考方案1】:

您已指定NSDictionaryResultType,因此提取仅返回您指定的一个属性 - username。要获取完整的对象及其所有属性,请删除这些行。你也不需要returnsDistinctResults。而且您还不如让 fetch 进行排序,而不是事后对数组进行排序:

NSFetchRequest *fetchRequest1 = [NSFetchRequest fetchRequestWithEntityName:@"UserData"];
NSSortDescriptor *sort = [NSSortDescriptor sortDescriptorWithKey:@"userName" ascending:YES selector:@selector(caseInsensitiveCompare:)];
fetchRequest1.sortDescriptors = @[sort];
NSArray *sortedResults = [self.managedObjectContext executeFetchRequest:fetchRequest1 error:nil];

【讨论】:

对核心数据中的相关实体进行排序

】对核心数据中的相关实体进行排序【英文标题】:Sortrelatedentitiesincoredata【发布时间】:2013-10-2206:34:46【问题描述】:我的核心数据模型中有两个实体。作者和书。一个作者可以有很多本书。这是我整理出来的部分。一切正常... 查看详情

根据一对多关系中的属性对 NSFetchRequest 进行排序?

】根据一对多关系中的属性对NSFetchRequest进行排序?【英文标题】:SortinganNSFetchRequestBasedonaPropertywithinaOne-to-ManyRelationship?【发布时间】:2011-08-0508:12:14【问题描述】:我一直在搜索SO搜索结果,但(到目前为止)找不到这个问题... 查看详情

在 Objective-C 中按评论数量对核心数据中的 FetchedObjects 数组进行排序

】在Objective-C中按评论数量对核心数据中的FetchedObjects数组进行排序【英文标题】:SortArrayofFetchedObjectsFromCoreDatabyNumberofReviewsinObjective-C【发布时间】:2019-02-2616:21:05【问题描述】:我想按照给定书籍的评论次数对从CoreData获取的... 查看详情

按两个依赖属性对核心数据实体进行排序

】按两个依赖属性对核心数据实体进行排序【英文标题】:SortingCoreDataentitiesbytwodependentattributes【发布时间】:2012-02-2311:01:09【问题描述】:假设我有一个具有两个NSNumber属性的核心数据实体:value1和value2。我想构造一个NSFetchedRe... 查看详情

对文件中数据块内的行进行排序。根据列中的索引将一个块中的行移动到数据块中的不同位置

】对文件中数据块内的行进行排序。根据列中的索引将一个块中的行移动到数据块中的不同位置【英文标题】:Sortrowswithindatablocksinafile.Moverowsinoneblocktoadifferentlocationinthedatablockbasedonindexinacolumn【发布时间】:2021-09-2021:14:09【问题... 查看详情

使用核心数据swift ios将实体的所有属性获取到tableview中的行中的标签

】使用核心数据swiftios将实体的所有属性获取到tableview中的行中的标签【英文标题】:Getallattributesofanentitytoalabelinrowintableviewwithcoredataswiftios【发布时间】:2017-12-1712:13:10【问题描述】:我已经为名为@9​​87654327@的实体定义了两... 查看详情

实体中的属性分组(核心数据)

】实体中的属性分组(核心数据)【英文标题】:Groupingofattributesinentities(CoreData)【发布时间】:2017-08-1516:41:43【问题描述】:我已经创建了我的数据库,但需要将某些属性组合在一起,例如,实体:Human属性:Noseearsmouthfingerstoes... 查看详情

C#:如何根据一列中的最大值按升序对二维数组中的行进行排序?

】C#:如何根据一列中的最大值按升序对二维数组中的行进行排序?【英文标题】:C#:HowcanIsortrowsin2Darrayinascendingorderbasedonhighestvalueinonecolumn?【发布时间】:2021-06-2403:03:54【问题描述】:所以我有一个二维数组中的数据表(第一... 查看详情

在表格视图部分中对核心数据对象进行排序

...】:我正在使用NSSortDescriptors对核心数据对象进行排序并根据日期属性创建表格视图部分。使用这种SortDescriptor,表格视图部分按预期排序,但部分内的行也按相同的日期属性排序。有没有办法在每个部分内有另一个订购 查看详情

根据包含数字和不包含数字的行对 CSV 中的行进行排序

】根据包含数字和不包含数字的行对CSV中的行进行排序【英文标题】:SortingthelinesinaCSVaccordingtothosecontainingnumbersandthosewithout【发布时间】:2012-02-1713:25:28【问题描述】:我有一个4列的CSV文件。我想对这些行进行排序,以便将第... 查看详情

如何在c语言中通过查看行中的一个属性对文件的行进行排序?(代码片段)

...括8个属性(字符串和整数),这些属性用逗号隔开(,).我根据逗号将这些属性分割开来,我有一个条件。打印文件中与用户输入的国家名称(属性之一)相同的行。所以我用以下方法来写strcasecmp(比较两个字符串的大小写不敏感).... 查看详情

为核心数据中的可转换属性编写 SortDescriptor?

】为核心数据中的可转换属性编写SortDescriptor?【英文标题】:WriteSortDescriptorforatransforableattributeincoredata?【发布时间】:2010-07-2719:24:48【问题描述】:我有一个实体头,它有一个属性NSDictionary,它在模型中被声明为可转换的。现... 查看详情

根据条件对 BigQuery 中的行进行重复数据删除

】根据条件对BigQuery中的行进行重复数据删除【英文标题】:DeduplicatingrowsinBigQuerybasedoncondition【发布时间】:2020-03-0213:04:14【问题描述】:我目前正在尝试对我的一张表在GoogleBigQuery中的行进行重复数据删除。基本上,我有一个... 查看详情

如何根据 Aurelia/Typescript 中的嵌套属性对对象数组进行排序

】如何根据Aurelia/Typescript中的嵌套属性对对象数组进行排序【英文标题】:HowtosortthearrayofobjectsbasedonnestedpropertyinAurelia/Typescript【发布时间】:2019-07-1119:02:47【问题描述】:我必须按对象的嵌套属性对对象数组进行排序。更准确... 查看详情

根据列中的条件对数据框中的行进行子集/过滤

】根据列中的条件对数据框中的行进行子集/过滤【英文标题】:Subset/filterrowsinadataframebasedonaconditioninacolumn【发布时间】:2011-03-2714:41:57【问题描述】:给定一个数据框“foo”,我怎样才能从“foo”中只选择那些行,例如foo$locati... 查看详情

我应该如何对我的核心数据实体中的 NSNumber 属性执行计算/更新?

】我应该如何对我的核心数据实体中的NSNumber属性执行计算/更新?【英文标题】:howshouldIperformcalculations/updatestoanNSNumberattributeinmyCoreDataentity?【发布时间】:2011-04-1522:05:06【问题描述】:所以我知道您需要NSNumber才能在CoreData中保... 查看详情

如何根据 Dart 中的 int 属性对所有 Class 属性进行排序?

】如何根据Dart中的int属性对所有Class属性进行排序?【英文标题】:HowtosortallClasspropertiesbasedonintpropertyinDart?【发布时间】:2018-05-3019:17:44【问题描述】:我收到了包含int属性值的Firebase信息。我已经成功地将它们存储为一个类。... 查看详情

如何根据数据对 MVCContrib 网格中的行进行样式设置?

】如何根据数据对MVCContrib网格中的行进行样式设置?【英文标题】:HowtostylerowsintheMVCContribGridbasedontheirdata?【发布时间】:2011-06-0710:42:57【问题描述】:我正在修改MVCContribGrid,并且一直在思考如何根据数据格式化网格中的一行... 查看详情