我已经创建了一个应用程序,它(好吧它已经)准备好提交了。该应用基本上是一款面向child的闪存卡应用,每页有12张卡片。目前仅适用于iPad,当卡片被触摸时,ImageView会从卡片动画到全屏,全分辨率为2048x1536,它会播放动物的声音,你点击全尺寸图像,它就会出现回到卡片中。每张卡片分配有5张图像。该应用程序在整个设计期间一直运行完美,现在我已经加载了所有动物并且我一直在测试它并注意到它崩溃了。长话短说,内存会以每张图片12MB的速度不断增长(尽管每张图片大约为200-400KB),直到达到700MB内存并崩溃。此内存永远不会减少。我已经通过xcode工具运行该应用程序,没有
我的问题可能看起来有点幼稚,但作为一名初学者iOS开发人员,我开始认为CoreData可以被firebase实时数据库(或future的firestore)替代。我在两个单独的项目中使用了它们,在激活firebase中的离线功能后,我得到了相同的结果(也就是说,数据无需互联网连接就保存到设备中)。我想我在firebase文档中读到了一些关于它不能同时过滤和排序的内容,这可能意味着CoreData可以更方便地进行复杂查询。如果能有一些高级开发人员对此主题的看法,那就太好了。提前致谢。 最佳答案 这个问题对于SO(IMO)来说有点离题并
我正在构建一个应用程序,但在我的iPhone上对其进行了测试。该应用程序已插入我的计算机并从XCode运行。无论如何可以看到应用程序生成的核心数据中的数据?我看到了所有关于模拟器和生成文件的帖子。我也在尝试使用DB浏览器。 最佳答案 第一步:插入您的设备并打开设备和模拟器:第2步:从已安装的应用中选择您的应用:第3步:点击设置图标并下载容器第4步:选择下载的.xcappdata并显示包内容:第5步:找到其中的.sqlite文件并使用任何sqlite阅读器打开它,例如DBBrowser 关
在CoreData中存储UUID(用于全局多系统对象标识)的最佳方法是什么?考虑存储大小和索引功能。理想情况下,它应该存储为二进制数据(128位),但是这样做会不会有任何直接的问题?以这种方式存储它比将其存储为NSString更有效,但我只想检查将其存储为二进制数据是否存在性能问题。它仍然会被正确地索引为二进制数据吗?在可变宽度字段中存储有效的固定宽度二进制数据是否有任何缺点?我不太熟悉SQLite及其存储/索引机制,所以想寻求一些建议! 最佳答案 从iOS11开始,您可以直接在CoreData编辑器中设置UUID属性。UUID将自
首先我创建了一个NSFetchedResultsController和一个NSFetchRequest来获取实体“Entity”的所有对象。然后我插入一个新的NSManagedObjectA,它是“实体”的一个实例,以及编辑B,它也是“实体”的一个实例。然后我调用NSArray*result=[fetchedResultsController-fetchedObjects],结果是A和B吗?在整个项目中,我只使用一个NSManagedObjectContext。如果我这样做,这在其Document中意味着什么??fetchedObjectsTheresultsofthefetch.@p
我正在尝试在CoreData中建立关系。我有一个树列表,每棵树都有一个水果列表。所以我有一个Tree实体和一个Fruit实体。在代码中,我想列出树,例如在TableView中。当您单击一棵树时,它应该会显示生长在该树上的水果列表。如何建立这种关系?我需要给Fruit一个名为tree的属性吗?我如何在代码中设置关系,例如,当我创建一个Fruit时,我如何将它与给定的Tree相关联? 最佳答案 太阳,这很简单。首先,您的模型应如下所示(为简单起见,我跳过了属性)。在这种情况下,Tree可以有零个或多个Fruit(参见fruits关系)。
在尝试调试我的View层次结构时,出现以下错误:Error:Unabletocaptureviewhierarchy.Details:Noplistdataforfetchingviewhierarchy:errorevaluatingexpression“(id)[(Class)objc_getClass("DBGViewDebuggerSupport_iOS")fetchViewHierarchyWithOptions:(id)[(Class)objc_getClass("NSDictionary")dictionaryWithObjects:(id)[(id)[(id)[(Cla
我有一个View,其中包含用于显示联系人列表的表格和另一个用于显示其详细信息的View。问题是当我打开联系人View时它工作正常;但是当我打开它时,转到联系人的详细View并按回去然后它会崩溃。它向我显示如下错误。断言失败-[UITableView_createPreparedCellForGlobalRow:withIndexPath:],/SourceCache/UIKit_Sim/UIKit-1914.84/UITableView.m:6048。由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“未设置UITableView
我正在开发一个应用程序,我需要以可靠的方式持久保存数据,即即使面对应用程序崩溃和退出等情况,也需要全有或全无地持久化更新。但是,我找不到太多关于CoreData能够支持的弹性级别的信息,环顾四周,似乎CoreData损坏是有可能的。这是正确的还是CoreData能够提供高低级别ACID支持可靠数据存储所需的属性?请具体说明哪些API提供了这些保证-例如,即使在保存期间发生崩溃(可能在另一个线程上),保存是否保证提交所有更新或不提交更新? 最佳答案 ACID仅适用于数据库,而CoreData不是数据库API,因此ACID标准并不真正适
不对CoreData属性进行索引的原因是什么?据我了解,如果有助于提高性能,应该对可搜索属性进行索引。如果是这样,为什么不是所有内容都自动“内部”索引?为什么我必须为适用的属性打开/关闭它,不为属性编制索引的原因是什么?如果它没有自动应用于所有内容,那一定是有原因的。那可能是什么? 最佳答案 索引不是免费的。每个额外的索引都会稍微增加CoreData存储的大小,并使保存实体的时间稍长一些。因此,如果给定属性的索引永远不会被使用,或者如果它很少被使用以致于将其编入索引所带来的性能提升并不显着,那么在没有索引的情况下,性能(和存储使用)