草庐IT

banner_data

全部标签

ios - 是否使用 Core Data?

我正在创建一个应用程序,可以向用户显示某些设备的状态。状态可以随时改变,用户可以刷新数据。我想使用一种存储数据的方式,以便用户始终能够在不需要互联网连接的情况下看到最新状态,并减少加载时间。我目前正在决定是Coredata还是SQLite。对于我的情况,我应该选择哪一个,为什么? 最佳答案 首先核心数据不是数据库。因此,如果您对future的数据库使用有感觉,而不是转向SQLite。核心数据是一个管理对象图的框架。核心数据通过将对象图写入磁盘来保存该对象图。因为SQLite是SQL的轻量级版本,所以它限制了SQL语言的一些复杂功能,

objective-c - Objective-C : How to store static data to Core Data when application launches

我打算使用CoreData来存储静态数据列表,其中包含具有属性的对象(例如对象=人、属性=体重、高度等)。关于解决此问题的最佳方法有什么建议吗?我应该使用哪种原始文件格式以及将数据从原始文件加载到核心数据的最佳方式是什么?感谢任何建议和帮助 最佳答案 如果数据集很大,您应该在应用程序包中包含一个预填充的SQLite存储。在Xcode中创建一个单独的项目并导入数据模型和NSManagedObject子类文件(如果有的话)。编写代码以导入或创建静态数据并将其全部写入持久存储。将持久存储文件复制/添加到发布项目。在发布项目中,使用[NSB

iphone - 将 RSS 提要导入 Core Data 时防止重复

尝试将RSS提要导入CoreData。一旦它们被导入,当之后再次尝试更新提要时,我如何最有效地防止重复。现在,它在解析期间根据数据存储检查每个项目,这不是很有效。我研究了Apple的热门歌曲样本。它使用最近最少使用的类别缓存。但是,当每个项目都不同时,缓stub本无济于事。编辑:澄清一下,我已经可以使用guid唯一地标识提要中的每个项目。问题是每次将数百个项目与数据库进行比较时的性能,其中大多数是重复的。 最佳答案 当您导入新行时,您可以对现有行运行查询以查看它是否已经就位。为此,您针对您的实体创建一个NSFetchRequest,

使用 Core Data 和 Magical Record 进行 iOS 应用程序单元测试

我有一个iOS应用程序,它使用核心数据以及优秀的MagicalRecord管理持久性。这是我的问题:我们现有的单元测试结构使用标准的iOS应用程序测试。我想为每个测试使用干净的内存数据库运行我的单元测试。我按照thisarticle中的说明进行操作使用MagicalRecord进行设置。问题出现在运行应用程序测试的实现中。因为应用程序测试首先运行应用程序包,然后是单元测试包,所以在我的内存存储调用有机会运行之前调用我设置核心数据堆栈的正常调用。我整夜搜索这个问题,发现了几篇很有前途的文章:http://blog.goosoftware.co.uk//2013/02/07/unit-te

ios - 虚拟机 : CG raster Data memory keep growing

所以我正在尝试制作一个应用程序,让用户可以更改UIImage的颜色,因为我正在使用我发现的这个功能-(UIImage*)imageWithTintColor:(UIColor*)colorfraction:(CGFloat)fraction{if(color){UIImage*image;if([UIScreeninstancesRespondToSelector:@selector(scale)]){UIGraphicsBeginImageContextWithOptions([selfsize],NO,0.f);}else{UIGraphicsBeginImageContext([

ios - Core Data 拒绝从内存中清除外部数据引用

我正在使用后台NSManagedObjectContext的后台线程将大量数据加载到核心数据中。为了从内存中清除对象图,我经常在保存后重置此背景上下文。一旦操作完成,上下文也会被释放。问题是无论我做什么,CoreData都拒绝释放存储为外部引用的大块数据。我已经在Allocations工具中验证了这一点。一旦应用程序重新启动,内存占用量将保持极低,因为这些外部引用只有在用户访问时才会出现故障。我需要能够在初始下载和导入后从内存中删除这些BLOBS,因为它们共同占用了太多空间。平均而言,它们只是html,所以大多数小于1MB。我已经尝试了refreshObject:mergeChange

iphone - 在 UITableView 中显示来自 Core Data 的下载队列

我想从基于CoreData本地数据库的服务器下载一定数量的数据,其中包含指向内容的链接。然后我想要一个TableView,它可以在队列列表中一个一个地动态显示正在下载的内容。它类似于您在iPhone上的iTunes应用程序中看到的内容,其中有一张正在下载的歌曲或播客的表格,并带有进度条指示器。我查阅了许多关于NSOperationQueue的教程,例如thisone或thisone我也决定不使用ASIHTTPRequestframework因为它已经过时了。如何将正在下载的项目的NSOperationQueue包装到UITableview中,并使用从CoreData数据库中获取的URL

ios - 向 Core Data 托管对象添加 `lastModified` 记录

一个对象需要提交给服务器,我想通过显示lastModified日期/时间和lastSubmitted日期/时间。(是的,必须手动提交记录。)我目前正在监听NSManagedObjectContextObjectsDidChangeNotification,检查对象的实体是否为RetailLocation,如果是,则设置其lastModified日期/时间(当然,前提是lastModified不是唯一被修改的属性)。因为这似乎使撤消管理器非常困惑,所以我使用performSelector:SOMESELwithObject:retailLocationafterDelay:0.0来设置l

ios - 在 Xcode 6 beta 4 (iOS 8) 中,当我声明它可转换时,为什么 Core Data 不像在 iOS 7 中那样将 UIImage 字段持久化到后端?

在我的iOS项目的数据模型中,我有一个名为Foo的实体,它有一个字段image。我一直使用Transformable设置来存储这个字段,这样iOS会自动使用NSCoding来存储图像。但是,我发现当我尝试检索它时,出来的UIImage*是损坏的。大多数时候它的大小为CGSizeZero,并且不包含有效数据。有没有人在Xcode6beta4下也遇到过这种情况?注意:我正在使用MagicalRecord来设置核心数据堆栈。我使用了所谓的“自动迁移”核心数据堆栈。每次在模拟器上运行此测试时,我都会重置内容和设置。我也曾尝试在内存数据存储上重现该问题(这样它就可以进行单元测试)但我无法准确重现

ios - 为什么-tableView :heightForRowAtIndexPath: is a delegate method instead of a data source method?

这个问题在这里已经有了答案:DifferencebetweenUITableViewDelegateandUITableViewDatasource(4个答案)关闭6年前。我发现这个方法是一个UITableView委托(delegate)方法:-(CGFloat)tableView:(UITableView*)tableViewheightForRowAtIndexPath:(NSIndexPath*)indexPath{return20;}我真的很困惑,为什么它不是数据源方法?