我试图弄清楚如何以Core Data fetch语句的形式编写以下SQL:
select count(*) from MYTABLE where MYTABLE.size='2';
目前我所拥有的只有以下内容:
//setup predicate
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"ANY %K == %@", @"size", searchInteger];
[request setPredicate:predicate];
NSError *error = nil;
NSInteger count = [managedObjectContext countForFetchRequest:request error:&error];
NSLog(@"fetch results count = %i", count);
[request release];
我不确定的是:
欢迎大师的任何建议。
提前致谢。 PRAS。
答案 0 :(得分:0)
countForFetchRequest:
肯定是最有效的计算方式。我认为你应该不在谓词格式字符串中使用关键字ANY
。
另外,请确保searchInteger
的类型为NSNumber
。如果不是,你需要将它包装成[NSNumber numberWithInt:searchInteger]
之类的东西。