2011-06-24 52 views
2

的iOS 4: 我有实体在核心数据(使用SQLite,这是一个要求)的:NSPredicate聚集函数[SIZE]给出 '不支持的函数表达式' 错误

  • 请求
  • 响应(其有一个属性PERSONID)
  • 修订

关系是:

  • 请求< - >>修订
  • 请求< - >>反应
  • 修订< - >响应

(例如每个请求可能有很多回应;每个请求/响应对可能有很多修订)

我想要做一个谓词来获取所有的响应与一个给定的personId有零修订。

使用:

(personId == %d) && (Request.Revision[SIZE] == 0) 
在我的谓语字符串

给我一个运行时异常“不支持的函数表达式Request.Revision [SIZE]”

的文件似乎在聚集功能相当稀疏,仅指出这些存在,但没有语法或示例。不知道这是我的语法,还是iOS中不支持SIZE函数。

回答

3

你想:

(personId == %d) && ([email protected] == 0) 
+0

我似乎记得在阅读一些有关性能是之间是不同的[SIZE]和@count,但由于一对多的业务最终我看来,像核心数据关系只是一组指针,表示在这两种情况下性能都是相等的(例如,没有人将引用的对象错误地存储到内存中)。这听起来是对的吗? – jinglesthula

+0

P.S.仍然感兴趣的是[SIZE] agg。功能在iOS中受支持。 – jinglesthula

+0

我开始越来越尊重核心数据与谓词功能)。感谢Dave提供关于@count语法的线索 – heximal