你好,请问代码是怎么写的?

目前这个接口还没有真正的实现。

先用 whereKey:equalTo: 的 api 吧

    let query = AVQuery(className: "Program", predicate: NSPredicate(format: "(name_cn CONTAINS %@) OR (name CONTAINS %@)", keyword, keyword))

这个尝试之后返回的是所有结果,所以就尝试更简单的:

    let query = AVQuery(className: "Program", predicate: NSPredicate(format: "name = %@", keyword))

依然是返回所有class条目结果

我意思是不要用这个接口 predicate

这个接口不起作用。

要这样用:

AVQuery *query = [AVQuery queryWithClassName:@"Post"];
[query whereKey:@"pubUser" equalTo:@"LeanCloud官方客服"];
[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
  if (!error) {
    // 检索成功
    NSLog(@"Successfully retrieved %d posts.", objects.count);
  } else {
    // 输出错误信息
    NSLog(@"Error: %@ %@", error, [error userInfo]);
  }
}];

是的这个NSPredicate API我已经不用了。之前那个NSPredicate代码是回复ycui的问题。
现在是使用subquery解决的。因为(name_cn CONTAINS %@) OR (name CONTAINS %@) 需要两个列来判断。
以后会考虑用CQL解决。