【问题标题】:Query for a class with multiple pointers in Parse database在 Parse 数据库中查询具有多个指针的类
【发布时间】:2016-03-18 06:47:50
【问题描述】:

我在 Parse DB 中有一个“事件”类,它有两个指针,分别称为“功能”和“网络”。参考如下:

我想从 Event 类中检索具有选定特征数组和选定网络中的对象。 我尝试进行如下查询:

func getEventsByFilter(networks: [Network]?, features: [Feature]?,completion: (events: [Event]?, error: NSError?) -> ()) {
    let query = PFQuery(className:"Event")
    query.whereKey("feature", containedIn: features!)
    query.whereKey("network", containedIn: networks!)

但是,我收到以下错误,并且查询返回 Events 类中的所有事件: [错误]:捕获“NSInvalidArgumentException”,原因是“JSON 写入 (MyApp.Network) 中的类型无效”:

关于如何重写查询以便我可以获取所选网络中的事件并具有所选功能的任何建议?

任何帮助表示赞赏!谢谢!

【问题讨论】:

  • 你有定义为 PFObject 的数组网络和特征吗?
  • @MazelTov:Feature 和 Network 是我项目中的两个不同的类。它们继承自 NSObject 并通过 PFObject 进行初始化。

标签: ios swift parse-platform pfquery


【解决方案1】:

确保特征和网络是字符串数组(objC 的 NSStrings)。

解析键始终是 String 类型,可以是 objectID 也可以是存储的任何键值。

编辑

忘记添加 "containedIn:" 解析将需要一个字符串数组作为参数。

PFQuery *categoryQuery = [PFQuery queryWithClassName:kClassnameCategory];
[categoryQuery whereKey:kKeyCategoryName equalTo:self.listCategory];
[categoryQuery getFirstObjectInBackgroundWithBlock:^(PFObject * category, NSError * _Nullable error) {

上面的代码 [categoryQuery whereKey: equalTo:] 期望两个参数都有一个字符串来找到匹配项,因为所有 Parse 键都是字符串。在 containsIn: 的情况下,它需要一个字符串数组。

【讨论】:

  • 会试一试,如果它解决了我的问题,请告诉您。感谢您的帮助!
猜你喜欢
  • 1970-01-01
  • 2015-04-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-09-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多