JSON 到带有关系的核心数据

2024-04-16

下列的Ray Wenderlich 的新教程 http://www.raywenderlich.com/15916/how-to-synchronize-core-data-with-a-web-service-part-1我能够获取 JSON 数据并将其存储到核心数据中。不过,我很难理解如何利用核心数据中的关系来做到这一点。

这是我的数据模型:

这是我的 JSON:

{
    "results": [
        {
        "name": "Trivia 1",
        "objectId": "1000",
        "createdAt": "2012-08-31 18:02:52.249 +0000",
        "updatedAt": "2012-08-31 18:02:52.249 +0000",
        "questions": [
            {
                "text": "Question 1"
            },
            {
                "text": "Question 2"
            },
            {
                "text": "Question 3"
            }
         ]
       }
     ]
}

最后,我在这里设置了 ManagedObject 的值:

    //Sets values for ManagedObject, also checks type
    - (void)setValue:(id)value forKey:(NSString *)key forManagedObject:(NSManagedObject *)managedObject {

        NSLog(@"TYPE: %@", [value class]);

        //If managedObject key is "createdAt" or "updatedAt" format the date string to an nsdate
        if ([key isEqualToString:@"createdAt"] || [key isEqualToString:@"updatedAt"]) {
            NSDate *date = [self dateUsingStringFromAPI:value];
            //Set date object to managedObject
            [managedObject setValue:date forKey:key];
        } else if ([value isKindOfClass:[NSArray class]]) {  //<---This would be the array for the Relationship
            //TODO: If it's a Dictionary/Array add logic here
            for(NSDictionary *dict in value){
                NSLog(@"QUESTION");
            }
        } else {
            //Set managedObject's key to string
            [managedObject setValue:value forKey:key];
        }
    }

我已经看过了这个问题 https://stackoverflow.com/questions/2362323/json-and-core-data-on-the-iphone但我真的很困惑如何将 Ray Wenderlich 示例中的各个部分连接在一起。任何帮助将不胜感激。


在 for 循环中,您将进行一些特殊的处理,如果您正在处理 QuestionGroup,您将知道该对象上的数组是问题(假设它是唯一的数组),因此您可以为每个问题创建一个新的 Question 对象字典中的条目。这将破坏同步引擎的通用性,但如果需要,您可以执行一些额外的步骤来重新获得它。

else if ([value isKindOfClass:[NSArray class]]) {
    if ([[managedObject entity] name] isEqualToString:@"QuestionGroup") {
        NSSet *questions = [NSMutableSet set];
        for (NSDictionary *question in value) {
            // create your question object/record
            NSManagedObject *questionManagedObject = [NSEntityDescription insertNewObjectForEntityForName:@"Question" inManagedObjectContext:managedObjectContext];
            // setup your question object
            questionManagedObject.text = [question valueForKey:@"text"];
            // store all the created question objects in a set
            [questions addObject:questionManagedObject];
        }
        // assign the set of questions to the relationship on QuestionGroup
        [managedObject setValue:questions forKey:@"questions"];
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JSON 到带有关系的核心数据 的相关文章

  • iPhone AVFoundation 相机方向

    我一直在绞尽脑汁地试图让 AVFoundation 相机以正确的方向 即设备方向 捕获图片 但我无法让它工作 我看过教程 看过 WWDC 演示 还下载了 WWDC 示例程序 但即使这样也没有成功 我的应用程序的代码是 AVCaptureCo
  • 如何在 NSDate 变量中仅设置时间?

    我有 NSDate 变量 只想更改时间 不应更改日期 是否可以 例如 用户在 DatePicker 日期中选择日期间隔 如果是开始日期 我想将时间设置为 00 00 00 如果是结束日期 我将时间设置为 23 59 59 感谢你的帮助 问候
  • 有没有办法阻止 iOS 上的 Safari 在关闭时清除网站的 cookie?

    我的移动网络应用程序的一位用户抱怨说 每次他关闭手机屏幕后使用该应用程序时 他都必须重新登录该应用程序 发生的情况是 当屏幕关闭时 或者当您通过双击主页按钮并滑开 Safari 来完全关闭 Safari 时 Safari 会清除该网站的 C
  • 如何从 iOS 应用程序检测不安全的 wifi 网络

    我想检测我的应用程序中是否存在不安全的 wifi 网络 是否有任何公共 iOS API 可以实现相同的目的 没有记录的 API 可以获取该信息 如果您的应用程序需要通过网络发送和接收敏感数据 您通常应该假设没有安全连接
  • CGContextSelectFont 等效项

    在 iOS 7 CGContext SelectFont 中已弃用 已弃用的消息说我必须使用 Core Text 但我不知道哪一个与这段代码完全相同 CGContextSelectFont context Helvetica kBarLab
  • 从 iOS 应用程序打开 YouTube 频道的最新 URL 方案是什么 [重复]

    这个问题在这里已经有答案了 我想使用 iPhone 应用程序中的频道打开 Youtube 应用程序 以前我使用以下 URL 方案并且工作正常 youtube 用户 频道名称 但在我将 Youtube 应用程序更新到最新的 2 6 0 后 这
  • ShareKit + Facebook 身份验证不起作用

    我正在使用 ShareKit 从我正在开发的 PhoneGap 应用程序发布到 Facebook 我在 Facebook 中创建了该应用程序 并在我的项目中安装了该插件 Twitter 工作正常 但当我尝试在 Facebook 上分享时出现
  • PhoneGap 1.4 封装 Sencha Touch 2.X - 性能怎么样?

    我正在构建一个多平台平板电脑应用程序 仅使用其 Webview 使用 Phonegap 1 4 对其进行包装 然后使用 Sencha Touch 2 框架发挥我的魔力 我所说的多平台是指 iOS 5 X 和 Android 3 0 目前 到
  • UICollectionReusableView 方法未被调用

    我希望我的部分位于UICollectionView有一个带有图像的标题 我已按照以下步骤操作 在故事板中 分配了一个标题作为我的附件UICollectionView 给它一个标识符 创建了一个子类UICollectionReusableVi
  • 将语音添加到自定义 UIMenuController

    我创建了一个自定义UIMenuController in a UIWebView但它似乎摆脱了 说出选择 选项UIMenuController在那之后 所有测试设备上的 偏好设置 中都打开了发言选择选项 并且它出现在其他应用程序中 包括非
  • 使用prepareForSegue传递数据

    我试图将数据从viewController 1传递到viewController2 我有2个按钮和1个segue 因此有一个segue标识符 这2个按钮 按下时每个按钮应显示 1个标签用于显示标题 1个textView用于显示定义 我很难显
  • 如何获取 UITableView 中的所有单元格

    假设我有一个包含多行的 UITableView 我想在某个时间点将所有 UITableViewCells 作为 NSArray 获取 我努力了 tableView visibleCells 但这种方法有一个问题 我无法拥有当前不在当前屏幕中
  • 在 JSQMessagesViewController 中显示 LocationMediaItem

    我刚刚尝试实施LocationMediaItem in my Xamarin iOS应用程序使用JSQMessagesViewController 一切都很顺利 唯一的问题是UICollectionView应该显示位置的单元格永远停留在加载
  • UITextView:内存使用量巨大

    我在 UITextView 中遇到了内存使用过多的问题 我正在将 50Kb ascii 文本文件加载到 NSString 中 并将其分配给应用程序中空 UITextView 组件的 text 属性 这立即使我的内存占用量增加了 100Mb
  • 将捕获的图像精确裁剪为 AVCaptureVideoPreviewLayer 中的外观

    我有一个使用 AV Foundation 的照片应用程序 我使用 AVCaptureVideoPreviewLayer 设置了一个预览层 它占据了屏幕的上半部分 因此 当用户尝试拍照时 他们只能看到屏幕上半部分看到的内容 这很好用 但是当用
  • 将应用程序登录凭据发送给 AppStore 审核者

    我刚刚将我的应用程序上传到应用程序商店 该应用程序需要用户名 密码才能登录 但在上传过程中从未提示我输入任何凭据 有谁知道我如何向审阅者发送我的凭据 而不必等待他们审阅并请求凭据 您编辑应用程序元数据 标题 描述 关键字等 的页面最底部字段
  • iOS 使用 NSColor 与 UIColor?

    有什么区别UIColor and NSColor 什么时候会使用每一种 我碰到NSColor在试图弄清楚的同时UIColor用于 iOS 中的属性字符串 我理解使用UIColor对于 UIKit 等 但我不认为NSColor对于这种事情确实
  • Objective C (iphone) 关于发布的问题

    如果我创建一个视图 并将其添加为子视图并将其添加到数组中 是否必须释放它两次 UIView cat UIView alloc initWithFrame someFrame self view addSubview cat self ani
  • 选择 UITableViewCell 时 UIView 背景颜色消失

    我在界面生成器中构建了一个简单的 tableViewCell 它包含一个包含图像的 UIView 现在 当我选择单元格时 会显示默认的蓝色选择背景 但 UIView 的背景颜色消失了 我的 UITableViewCell 的实现文件没有做任
  • iPhone 3GS 上的 ARM 与 Thumb 性能比较,非浮点代码

    我想知道是否有人有关于 iPhone 3GS 上 ARM 与 Thumb 代码性能的硬性数据 特别是对于非浮点 VFP 或 NEON 代码 我知道 Thumb 模式下的浮点性能问题 更大的 ARM 指令的额外代码大小是否会在某个时刻成为性能

随机推荐

  • 使用服务器端脚本 (PHP) 创建 SVG 图形

    有没有办法使用 PHP 脚本生成 HTML 文件 该脚本嵌入了 SVG 其中 SVG 本身是由 PHP 脚本动态生成的 基本上 我想向客户端显示动态生成的 SVG 图像 但是 也仅引用外部源 而 PHP 仅生成当前 HTML 页面 而不是外
  • Rails:语法错误,意外的keyword_ensure,期望$end

    我正在创建一个非常基本的 Rails 应用程序 学习教程 但无法理解为什么会出现此错误 我已尝试排除故障但无济于事 My code ul class nav pull right li li li li li li ul
  • 如何将操作栏与 Xamarin 和 MvvmCross 一起使用

    我看到 Xamarin 最近作为组件发布http components xamarin com view xamandroidsupportv7appcompat http components xamarin com view xaman
  • 如何更新 C# 和 SQL Server 中的值? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 这是我的程序 应该更新包含 3 列的表中的分数 id nickname scor Otherform id1 is the id需要更新的
  • Docker for ARM64 (Raspberry Pi 4) 上的 Android SDK 用于构建 APK

    我正在尝试创建一个ARM64 Docker 镜像它能够构建我的 React Native 应用程序的 apk 文件 背景 为了练习目的 我使用 5 个 Raspberry Pi 4 板构建了一个 Kubernetes 集群 一切工作正常 J
  • 按数组类型查询 - MongoDB

    我必须按类型查询我的 mongoDB 集合 假设我有这两个文件hello收藏 id ObjectId 56684ee0f597654b99d0d636 name Scrooge surname McDuck address road Mon
  • 如何在 Python 中发送包含一些非 ASCII 字符的电子邮件?

    我正在使用 Python 3 7 并尝试使用 smtplib 发送电子邮件 只要消息不包含任何土耳其字符 例如 我的脚本就可以完美运行 到目前为止我发现的唯一可行的解 决方案是使用 string string encode ascii ig
  • 设置 UIPopOverController 大小

    我有一个view里面有一堆按钮UIScrollView 当用户按下按钮时 我希望显示一个 UIPopOverController 指向所选按钮 它有点工作 但是弹出窗口的大小错误并且指向视图中的随机点 这是我的代码 void detail
  • 如何将 Maven 存储库 jar 添加到 Eclipse 构建路径?

    从 Eclipse 中 我可以在 Maven 存储库视图中看到所有必需的 jar 但我有大约 100 个缺少 jar 文件的错误 所以我设置了 M2 REPO 环境变量 我已经从命令行运行了 mvn eclipse eclipse 命令 当
  • WINAPI 带有自定义边框的编辑控件

    在纯 WinAPI 无 MFC 中实现编辑控件的自定义圆形边框的正确方法是什么 我需要像这样的边框编辑 我应该子类化编辑控件并在 WM NCPAINT 或类似的东西中进行自定义绘画吗 我想你有两个选择 正如你所说 你可以子类化并覆盖WM N
  • 从 Django 调用 Scrapy Spider

    我有一个项目 在同一工作区中包含 django 和 scrapy 文件夹 my project django project django project settings py app1 app2 manage py scrapy pro
  • 循环日期范围

    在Python3中 我可以像这样循环遍历一系列日期 import datetime dt0 datetime datetime 2017 1 1 0 0 0 dt1 datetime datetime 2017 1 5 0 0 0 dt d
  • Spring @Async 限制线程数

    我的问题与这个非常相似 Async 阻止一个线程继续执行 直到其他线程完成 https stackoverflow com questions 4324212 async prevent a thread to continue until
  • Discord 机器人添加对消息的反应discord.py(无自定义表情符号)

    我一直在尝试使用discord py创建一个机器人 在阅读后使用discord py添加对消息的反应this https stackoverflow com questions 48982061 how do you have a bot
  • xamarin.forms 中的导航如何工作?

    由于我在 android 中的应用程序中使用 xamarin forms 因此我必须从一个页面导航到另一个页面 我的问题是 从一个页面导航到另一页面是否会将其添加到导航堆栈中 例如 如果我的应用程序有导航 例如第1页 gt 第2页 gt 第
  • if (static_cast(x)) 与 if (x)

    我有一位同事经常在条件语句中对 bool 进行显式强制转换 如下所示 SomeType ptr some value if static cast
  • 如何在aspx页面中的javascript中读取web.config中的值

    我在 aspx 文件中有一段 javascript 代码 在我的脚本函数中 我尝试从 web config 读取 SiteRootURL 值 如下所示 var k alert k 这是行不通的 当我添加上面的代码时 我的 aspx 页面顶部
  • .NET 3.5 处置注册表项

    我有以下代码 RegistryKey installKey Registry LocalMachine OpenSubKey installKey 我正在我的代码上运行静态分析工具 它给了我一个缺陷 说我从方法中返回而没有处理安装密钥 我知
  • 如何在Scrapy中迭代div?

    这可能是一个非常微不足道的问题 但我是 Scrapy 的新手 我试图找到问题的解决方案 但我只是看不出这段代码有什么问题 我的目标是废弃给定网站上的所有歌剧节目 每个节目的数据都位于一个具有 row fluid row performanc
  • JSON 到带有关系的核心数据

    下列的Ray Wenderlich 的新教程 http www raywenderlich com 15916 how to synchronize core data with a web service part 1我能够获取 JSON