【问题标题】:Challenging query in COREDATA [closed]COREDATA 中具有挑战性的查询 [关闭]
【发布时间】:2013-07-18 07:06:31
【问题描述】:

在我的核心数据应用程序中,我只有一个这样的表:

我想要的是一个查询,它按日期的升序按主题分组返回所有行, 即

我不熟悉 Core Data 谓词。我怎样才能做到这一点?

【问题讨论】:

  • 请参考以下链接,它可能对您有所帮助。 stackoverflow.com/questions/14942912/…
  • SELECT * FROM YOUR TABLE_NAME GROUP BY Subject WHERE Date ASC;
  • @Jeff 为什么要减去投票?我试图通过举一些例子来帮助你。
  • @Hemang 当我使用您的代码时,应用程序崩溃并出现以下异常 *** 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“无法解析格式字符串“SELECT * FROM Message GROUP BY Subject WHERE 日期 ASC"'

标签: ios core-data


【解决方案1】:

你可以这样写代码:-

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"Subject == 'Leave'"];

您将获得标题为 Leave 的主题列表。现在您可以根据需要修改代码。

这将帮助您按升序排列它们:-

NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"date"
ascending:YES];
NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor, nil];
[fetchRequest setSortDescriptors:sortDescriptors];

供参考:-https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/Predicates/Articles/pSyntax.html

【讨论】:

  • 请评论这里的减号有什么问题?
  • 在给出答案之前至少阅读问题
  • @Jeff 我读了这个问题..如果是这样,请不要用 iOS 标记,用 mac OS 标记。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-02-17
  • 1970-01-01
  • 2018-06-13
  • 1970-01-01
  • 2013-09-16
  • 1970-01-01
相关资源
最近更新 更多