我的项目需要在iOS设备上缓存从远程网络服务检索到的数据。这个想法是,例如,ViewController将向缓存询问它拥有的所有文档对象,并且在后台将请求来自Web服务的刷新,将它收到的任何新文档对象返回给ViewController。我想知道ViewController是否有可能使用NSFetchedResultsController来检索与它在数据库中本地找到的条件匹配的任何对象,并且还异步地从后台的Web服务请求数据刷新。这样做时,NSFetchedResultsController将更新数据库,当然还会触发FetchedResultsController委托(delegate)
我正在使用CoreData,我正在尝试找出在我的一个CoreData实体中存储整数数组的最简单方法。目前,我的实体包含比单个数字更复杂的各种对象数组,因此将这些数组表示为我的数据库中的表并使用关系附加它们是有意义的。如果我想存储一个简单的整数数组,是否需要创建一个包含单列的新表并使用一对多关系附加它?还是有更简单的方法?提前感谢您的智慧! 最佳答案 ChrisHanson已经很好地回答了这个问题,如果你真的想将NSArray存储为核心数据属性,请查看transformableattributes
我有一个图书馆风格的应用程序,它使用核心数据来存储它的数据。目前我正在致力于集成iCloud支持。我研究了几个示例和Apple文档,最终设法将在设备A上创建的对象自动同步到设备B。这很好,但我知道我遇到了一些问题:一些对象已同步,而另一些则没有,我不知道如何调试它。有什么方法可以“查看”哪些数据传输到iCloud,哪些数据存储在云端,哪些数据从iCloud下载?目前我所看到的是,我创建了一些NSManagedObject并将其存储到ManagedContext/PersistentStore。看不到有没有传到云端,也看不到云端当前的内容。这使得无法调试整个过程。那么如何调试iCloud
我正在开发一个iOS应用程序并有多个对象模型。现在我想将它们转换为核心数据管理对象,因此从对象创建实体和属性而不是从模型生成对象的标准相反方式。实现此目标的最佳方法是什么?我尝试从NSManagedObject而不是NSObject进行扩展,然后手动创建实体和属性并为实体设置类名,但这没有用:-(谢谢 最佳答案 我最近为一个具有非常大且复杂的数据模型的大项目做了这个。这是我发现非常可行的工作流程。首先,我在Xcode中创建了一个新的数据模型并手动填充它。这是一个很好的练习,因为它会迫使您检查您的模型并可能利用简化机会。然后,使用Xc
我对在哪里设置我的核心数据堆栈有点困惑。在Appdelegate中或使用UIManagedDocument的共享实例,在此处描述?:http://adevelopingstory.com/blog/2012/03/core-data-with-a-single-shared-uimanageddocument.html现在我在我的AppDelegate中设置了核心数据堆栈,我正在ViewController之间传递我的MOC。但是迁移到UIManagedDocument并创建一个共享实例会更好吗,这样我就不必一直传递MOC了?还因为它较新? 最佳答案
我有两个实体有这样的关系......我想在对话中创建一个获取的属性以返回属于它的最新消息。我不想维持另一种关系,因此拥有一个获取的属性似乎是可行的方法。所以这归结为;如何将获取的属性限制为一项?和如何按时间戳对项目进行排序? 最佳答案 您可以使用获取的属性来解决该问题,但有一个问题。您不能在模型编辑器中定义该获取的属性。您可以在代码中定义该获取的属性。所以是的,你可以做到,但值(value)很低。更新Haveyougotanexampleofdefiningafetchedpropertyincode?WherewouldIdoth
我已经创建了一个应用程序,它(好吧它已经)准备好提交了。该应用基本上是一款面向child的闪存卡应用,每页有12张卡片。目前仅适用于iPad,当卡片被触摸时,ImageView会从卡片动画到全屏,全分辨率为2048x1536,它会播放动物的声音,你点击全尺寸图像,它就会出现回到卡片中。每张卡片分配有5张图像。该应用程序在整个设计期间一直运行完美,现在我已经加载了所有动物并且我一直在测试它并注意到它崩溃了。长话短说,内存会以每张图片12MB的速度不断增长(尽管每张图片大约为200-400KB),直到达到700MB内存并崩溃。此内存永远不会减少。我已经通过xcode工具运行该应用程序,没有
我的问题可能看起来有点幼稚,但作为一名初学者iOS开发人员,我开始认为CoreData可以被firebase实时数据库(或future的firestore)替代。我在两个单独的项目中使用了它们,在激活firebase中的离线功能后,我得到了相同的结果(也就是说,数据无需互联网连接就保存到设备中)。我想我在firebase文档中读到了一些关于它不能同时过滤和排序的内容,这可能意味着CoreData可以更方便地进行复杂查询。如果能有一些高级开发人员对此主题的看法,那就太好了。提前致谢。 最佳答案 这个问题对于SO(IMO)来说有点离题并
我正在开发支持iTunes文件共享功能的iOS项目。目标是实时跟踪传入/更改的数据。我正在使用(有点修改)DirectoryWatcherApple示例代码中的类也试过thissourcecode.数据是NSBundle(*.bundle),一些包在100-500MB范围内,取决于它的内容,一些视频/音频的东西。bundle中包含基于xml的描述rune件。问题是上面的任何代码触发通知或数据刚开始复制时的任何其他内容,但复制/更改/删除过程完全完成时不会。下一步尝试:检查文件属性:NSDictionary*fileAttrs=[[NSFileManagerdefaultManager]
我正在构建一个应用程序,但在我的iPhone上对其进行了测试。该应用程序已插入我的计算机并从XCode运行。无论如何可以看到应用程序生成的核心数据中的数据?我看到了所有关于模拟器和生成文件的帖子。我也在尝试使用DB浏览器。 最佳答案 第一步:插入您的设备并打开设备和模拟器:第2步:从已安装的应用中选择您的应用:第3步:点击设置图标并下载容器第4步:选择下载的.xcappdata并显示包内容:第5步:找到其中的.sqlite文件并使用任何sqlite阅读器打开它,例如DBBrowser 关