ios - 解析和核心数据关系和指针

标签 ios objective-c xcode parse-platform

我正在尝试同步我的项目以进行解析。现在我正在将我的数据保存在核心数据中。我有两种实体:Night 和 Session。它看起来像这样:晚上有很多 session , session 有一个晚上。 enter image description here

当我想将 session 添加到晚上时,我创建或获取晚上并添加新 session 。这样我就可以从晚上开始整个 session ,反之亦然。为了将其上传以进行解析,我在“ session ”表“夜间”列(类型为指针)和“夜间”表中添加了“ session ”列(类型为关系),这就是它的样子:

enter image description here
enter image description here enter image description here

我已经成功地将所有记录从解析同步到核心数据,除了关系和指针。 我的问题是唯一的解决方案(将此关系插入核心数据)是创建新的夜晚(我的意思是创建实例)并创建新 session 并像这样添加它们:

-(void)addSession:(Session *)session toNight:(Night *)night {
    if (session && night) {
        NSMutableSet * sessionSet = [night.sessions mutableCopy];
        [sessionSet addObject:session];
        night.sessions = sessionSet;
    }
}

所以我的问题是:

  1. 这是唯一的方法?创建实例并添加它们?
  2. 当我将 session 添加到 Night 或将 Night 添加到 session 时,为什么它没有显示在数据库表中。我看不到这种联系。 (就像我在解析、关系和指针中看到的那样)
  3. 当我从解析中得到关系时,它看起来像这样:

sessions = { "__type" = Relation; className = Session; };

我能用它做什么?

感谢阅读这么长的问题,我希望我已经清楚了:)

顺便说一句:我遵循这个tutorial他们没有关系和指针。

更新 我正在使用 Parse Rest Clint API。

最佳答案

this is the only way? create instance and add them?

是的。创建一个 night 对象并设置其 sessions 属性;或者您创建一个 session 对象并设置其 night 属性。 (前提是您已在核心数据模型中定义和求逆)。

when i add Session to Night or when i add Night to session, why it's not shown in the DB table. i can not see this connection. ( like i see in parse ,relation and pointers)

这个我不是很清楚。您希望在数据库表中看到什么?如果您将一堆 session 添加到 night,或者您在 session 对象上设置了 night 属性,那么当您检查这些对象时(reap.night - session),您可以访问属性并且应该显示正确的值...

when i get the Relation from parse it's look like this:

在 Parse 中,您不需要为指针和关系建模两者(就像在 Core Data 中那样,您有一个关系及其逆关系)。

您只需要一对多关系的指针。解析关系用于多对多关系。

因此,您应该在 Parse 中存储所有 session 的方法是通过如下查询获取它们:

PFObject* night ...
PFQuery *query = [PFQuery queryWithClassName:@"Sessions"];
[query whereKey:@"night" equalTo:night];

然后 [query findObjects...] 将为您提供一组 session ,您可以将其添加到 Night Core Data 对象中。 (因此,无需多次调用 addSession:)。

希望这对您有所帮助。

关于ios - 解析和核心数据关系和指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25032090/

相关文章:

iOS - 如何使用泛型在 Swift 中编写 DecodeHelper 类?

ios - 将对象转换为 json

ios - 在 iOS 中更新 TwitterKit SDK

xcode - 代码签名身份 <名称> 与任何有效、未过期的代码签名证书不匹配

ios - 如何将ios应用程序制作成插件

ios - 我们如何获取在 iphone/ipad 中创建的自定义文件夹的路径/url?

ios - 向 UIScrollView 添加 UI 元素?

ios - 在 'empty' 数组的特定索引处插入对象

c++ - FLAC.框架错误

ios - 链接器错误 - Objective-C