【问题标题】:Predicate and distinct objects谓词和不同的对象
【发布时间】:2010-08-04 12:15:28
【问题描述】:

我有实体UnitTag,每个都与其他实体有一对多关系。

我正在使用NSFetchedResultsController 来管理数据。我需要将不同的Unit 对象返回到NSFetchedResultsController 以获取条件Tag.show == YES。我不确定如何将所有这些内容提供给NSFetchedResultsController。将实体设置为UnitTag,如何为其构建谓词。

例子:

我有 6 个 Tag 对象 tag1...tag6 和 3 个 Unit 对象 unit1, unit2, unit3。 tag1、tag2 分别指向 unit1、tag3、tag4 指向 unit2。 tag1...tag4 满足show == YES 条件。 所以我想最终让 uni1 和 unit2 进入NSFetchedResultsController

【问题讨论】:

  • 这是 Visual Basic 还是 Delphi?

标签: objective-c core-data predicate nsfetchedresultscontroller


【解决方案1】:

使用谓词"ANY Tag.show==YES" 获取Unit 实体。

这将返回具有一个或多个相关Tag 实例与show==YES 的任何Unit 实例。获取返回不同的对象,因此您不必做任何其他事情。

【讨论】:

  • 我刚刚发现了同样的情况,很高兴看到你的帖子!你总是乐于助人,谢谢!
【解决方案2】:

我尝试解决我的一个问题。

如果有一个 NSMutableArray 填充了 RSSItem 对象,其中包括一个属性链接,它是一个 NSString。

现在我想查找数组中的所有对象,它的链接等于另一个 NSString [item link]

NSPredicate *predicate = 
      [NSPredicate predicateWithFormat:@"ANY link == '%@'", [item link]];
NSArray *filteredArray = 
      [[delegate itemArray] filteredArrayUsingPredicate:predicate];
if ([filteredArray count] > 0) {
      // IF such an object exists, do something ...
}

这不是同样的事情,你在尝试吗? 还是我在这里误解了谓词?

您好, 渡渡鸟

【讨论】:

  • 发现错误。您不需要围绕该字符串的附加 ' '。有时这很容易……尽管我花了大约三个小时才弄清楚。 :(
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多