【问题标题】:Querying multiple (n=7) classes with pointers使用指针查询多个 (n=7) 类
【发布时间】:2016-01-11 19:09:25
【问题描述】:

我需要使用 PFQueryTableViewController 生成活动的“提要”。 我有 7 个类都包含各种活动(即PaymenmtMealNote....)。它们都包含指向Child 类的指针。

我想做的是查询所有这些类以提取相应子项的最新活动并返回每个类的对象。

我试过了,

   override func queryForTable() -> PFQuery {

    let queryNote = PFQuery(className: "Note")
    queryNote.whereKey("child", equalTo: passedChildID!)

    let queryPayment = PFQuery(className: "Payment")
    queryItem.whereKey("child", equalTo: passedChildID!)

    return queryNote
}

但是我遇到了麻烦,因为我无法返回查询数组。

我也尝试过query.orQueryWithSubQueries,但这只适用于同一类的查询。

Parse 文档提供了示例,但仅针对 2 个类(例如)。

query.whereKey("post", equalTo: PFObject(withoutDataWithClassName: "Post", objectId: "1zEcyElZ80"))

任何帮助将不胜感激。

【问题讨论】:

    标签: ios swift parse-platform swift2


    【解决方案1】:

    不幸的是,没有办法做到这一点。您一次只能查询 1 个班级。

    一种可能的解决方法是创建一个包含每个活动要点的Activity 类,然后添加一个指向正确活动的指针(即Meal)。

    这样,您可以查询所有最新的活动,还可以使用include语句获取Meal/Payment/Note对象。

    但是,每个Activity 对象都需要为每种类型的活动提供一个列,因此如果您有 10 个不同的活动类,例如Meal,那么Activity 类将需要 10 个这样的指针列。这不是一个漂亮的解决方法,但它会起作用。

    不知道你的数据模型我仍然建议你重新考虑它,看看是否有可能以不同的方式做。在开发移动应用程序时,您应该根据需要进行的查询来规划您的数据模型,而不是严格地在自主对象中思考的老式 RDBM 方式。

    【讨论】:

    • 数据模型设置为还支持 Web 应用程序的 ember 前端,因此无法真正改变它。当它只有移动设备时,我确实设置了一个 Activity 班级来举办所有各种活动。我想知道我是否应该只进行 10 个单独的查询(有我的免费解析计划),将每个查询存储在一个数组中,然后为每个单独的部分呈现 uitableview。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多