我对核心数据编程完全陌生。我只是想找出实现核心数据代码的最佳位置。我完成了苹果教程 Locations 并且效果很好。现在我尝试将其转移到我当前的项目中,这有点复杂。
位置教程展示了一个 RootViewController,包括一个以编程方式生成的 tableView。我的项目基于 tabView 模板。它拥有一个包含 TabBarController 的 MainWindow.xib,其中包含三个 ViewController(MapView、ListView、SettingsView),其中每个 View 都有自己的 navigationController 和 xib 文件。
第一个绊脚石是更改它将与 tableView 的 xib 一起运行的代码,而不是以编程方式创建它。我做到了,但仍然有一个错误。我无法将 managedObjectContext 从 appDelegate 连接到 listViewController。我在这里尝试了此论坛中针对该问题的示例和建议。但它仍然不起作用。
在查看 CoreDataBooks 示例项目后,我发现核心数据代码也在 RootViewController 中实现。似乎在 ListViewController 中实现它是错误的方法。但是我的项目中没有 RootViewController。在 AppDelegate 中,我直接将 tabBarController 作为 rootViewController 传递。因此我不知道如何访问 listViewController 来设置上下文,就像在 Locations 示例中所做的那样。
由于 MapView 是第一个 View ,我无法在 appDelegate 中设置上下文。在与 managedObjectContext 斗争了很长时间之后,我想知道是否发明一个 RootViewController 能够在那里放置额外的代码会更好。所有三个 View 都应该可以访问该模型,而且 RootViewController 似乎是正确的位置。
但是我如何将它与包含三个基于 xib 文件的 View Controller 的 tabBarController 结合起来?有人可以向我推荐示例或教程,包括基于标签栏应用程序的核心数据吗?
最佳答案
请阅读 Marcus Zarra 的以下文章:Passing around a NSManagedObjectContext on iOS .这应该会让您了解如何解决您的问题。
通常,您应该向所有 ViewController 添加一个 NSManagedObjectContext 属性,并在通过 pushViewController:animated: 将它们添加到 View 堆栈之前传递上下文。您不应该获取来自您的应用委托(delegate)的上下文。
如果您将单个 NSManagedObject 传递给 ViewController,例如要呈现一种详细 View ,您可以从该对象访问上下文,因为每个 NSManagedObject 都知道它“生活”在其中的 NSManagedObjectContext。
如果您是注册的 iOS 开发人员,我还推荐 WWDC 2010 和 2011 视频。有一些关于掌握核心数据的 session 。
关于iphone - 在哪里实现核心数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6652432/
我主要使用Ruby来执行此操作,但到目前为止我的攻击计划如下:使用gemsrdf、rdf-rdfa和rdf-microdata或mida来解析给定任何URI的数据。我认为最好映射到像schema.org这样的统一模式,例如使用这个yaml文件,它试图描述数据词汇表和opengraph到schema.org之间的转换:#SchemaXtoschema.orgconversion#data-vocabularyDV:name:namestreet-address:streetAddressregion:addressRegionlocality:addressLocalityphoto:i
我有一个用户工厂。我希望默认情况下确认用户。但是鉴于unconfirmed特征,我不希望它们被确认。虽然我有一个基于实现细节而不是抽象的工作实现,但我想知道如何正确地做到这一点。factory:userdoafter(:create)do|user,evaluator|#unwantedimplementationdetailshereunlessFactoryGirl.factories[:user].defined_traits.map(&:name).include?(:unconfirmed)user.confirm!endendtrait:unconfirmeddoenden
有时我需要处理键/值数据。我不喜欢使用数组,因为它们在大小上没有限制(很容易不小心添加超过2个项目,而且您最终需要稍后验证大小)。此外,0和1的索引变成了魔数(MagicNumber),并且在传达含义方面做得很差(“当我说0时,我的意思是head...”)。散列也不合适,因为可能会不小心添加额外的条目。我写了下面的类来解决这个问题:classPairattr_accessor:head,:taildefinitialize(h,t)@head,@tail=h,tendend它工作得很好并且解决了问题,但我很想知道:Ruby标准库是否已经带有这样一个类? 最佳
我正在尝试使用Curbgem执行以下POST以解析云curl-XPOST\-H"X-Parse-Application-Id:PARSE_APP_ID"\-H"X-Parse-REST-API-Key:PARSE_API_KEY"\-H"Content-Type:image/jpeg"\--data-binary'@myPicture.jpg'\https://api.parse.com/1/files/pic.jpg用这个:curl=Curl::Easy.new("https://api.parse.com/1/files/lion.jpg")curl.multipart_form_
无论您是想搭建桌面端、WEB端或者移动端APP应用,HOOPSPlatform组件都可以为您提供弹性的3D集成架构,同时,由工业领域3D技术专家组成的HOOPS技术团队也能为您提供技术支持服务。如果您的客户期望有一种在多个平台(桌面/WEB/APP,而且某些客户端是“瘦”客户端)快速、方便地将数据接入到3D应用系统的解决方案,并且当访问数据时,在各个平台上的性能和用户体验保持一致,HOOPSPlatform将帮助您完成。利用HOOPSPlatform,您可以开发在任何环境下的3D基础应用架构。HOOPSPlatform可以帮您打造3D创新型产品,HOOPSSDK包含的技术有:快速且准确的CAD
华为OD机试题本篇题目:明明的随机数题目输入描述输出描述:示例1输入输出说明代码编写思路最近更新的博客华为od2023|什么是华为od,od薪资待遇,od机试题清单华为OD机试真题大全,用Python解华为机试题|机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南华为o
本教程将在Unity3D中混合Optitrack与数据手套的数据流,在人体运动的基础上,添加双手手指部分的运动。双手手背的角度仍由Optitrack提供,数据手套提供双手手指的角度。 01 客户端软件分别安装MotiveBody与MotionVenus并校准人体与数据手套。MotiveBodyMotionVenus数据手套使用、校准流程参照:https://gitee.com/foheart_1/foheart-h1-data-summary.git02 数据转发打开MotiveBody软件的Streaming,开始向Unity3D广播数据;MotionVenus中设置->选项选择Unit
文章目录一、概述简介原理模块二、配置Mysql使用版本环境要求1.操作系统2.mysql要求三、配置canal-server离线下载在线下载上传解压修改配置单机配置集群配置分库分表配置1.修改全局配置2.实例配置垂直分库水平分库3.修改group-instance.xml4.启动监听四、配置canal-adapter1修改启动配置2配置映射文件3启动ES数据同步查询所有订阅同步数据同步开关启动4.验证五、配置canal-admin一、概述简介canal是Alibaba旗下的一款开源项目,Java开发。基于数据库增量日志解析,提供增量数据订阅&消费。Git地址:https://github.co
C#实现简易绘图工具一.引言实验目的:通过制作窗体应用程序(C#画图软件),熟悉基本的窗体设计过程以及控件设计,事件处理等,熟悉使用C#的winform窗体进行绘图的基本步骤,对于面向对象编程有更加深刻的体会.Tutorial任务设计一个具有基本功能的画图软件**·包括简单的新建文件,保存,重新绘图等功能**·实现一些基本图形的绘制,包括铅笔和基本形状等,学习橡皮工具的创建**·设计一个合理舒适的UI界面**注明:你可能需要先了解一些关于winform窗体应用程序绘图的基本知识,以及关于GDI+类和结构的知识二.实验环境Windows系统下的visualstudio2017C#窗体应用程序三.
我正在尝试在Rails上安装ruby,到目前为止一切都已安装,但是当我尝试使用rakedb:create创建数据库时,我收到一个奇怪的错误:dyld:lazysymbolbindingfailed:Symbolnotfound:_mysql_get_client_infoReferencedfrom:/Library/Ruby/Gems/1.8/gems/mysql2-0.3.11/lib/mysql2/mysql2.bundleExpectedin:flatnamespacedyld:Symbolnotfound:_mysql_get_client_infoReferencedf