Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 使用swift中的数据库将spritekit图像数据从/加载到磁盘_Sql_Swift - Fatal编程技术网

Sql 使用swift中的数据库将spritekit图像数据从/加载到磁盘

Sql 使用swift中的数据库将spritekit图像数据从/加载到磁盘,sql,swift,Sql,Swift,我正在开发SpriteKit通用iOS应用程序,该应用程序将包含许多SpriteKit图像。我想知道是否有更好的方法来处理苹果默认提供的iOS应用程序中的大量数据图像(即核心数据)。一些参考资料指出,使用数据库(如SQL)将图像数据保存到磁盘或从磁盘加载图像数据,可以提高应用程序在内存资源方面的整体性能 在iOS应用程序中管理sprites内容的最佳方法是什么?CoreData首先是对象图管理系统,其次是数据库前端。它的预期用例是管理模型及其与其他模型的关系,很像SQL中的表。因此,它不是保存二

我正在开发SpriteKit通用iOS应用程序,该应用程序将包含许多SpriteKit图像。我想知道是否有更好的方法来处理苹果默认提供的iOS应用程序中的大量数据图像(即核心数据)。一些参考资料指出,使用数据库(如SQL)将图像数据保存到磁盘或从磁盘加载图像数据,可以提高应用程序在内存资源方面的整体性能


在iOS应用程序中管理sprites内容的最佳方法是什么?

CoreData首先是对象图管理系统,其次是数据库前端。它的预期用例是管理模型及其与其他模型的关系,很像SQL中的表。因此,它不是保存二进制数据(如图像)的正确解决方案。平面文件存储无疑是更好的选择。查看是否将文件写入磁盘

如果编写自己的磁盘缓存听起来像是一项艰巨的任务,你应该考虑使用第三方框架。是一种流行的完全用Swift编写的图像缓存。它还处理通过Internet获取图像,并提供与UIKit集成的扩展


或者,只需查看大量其他选项。

保存图像和数据查看sdmanager和afnetworking磁盘缓存和ram缓存的最佳开源库。您对使用Apple的默认属性列表存储图像配置数据(如位置、模式等)有何看法。?这是否会提高性能,或者只是使数据管理变得更容易,而无需修改代码即可替换sprite。谢谢@saate_group这完全取决于您。如果您将数据存储在应用程序包中并希望定期更改数据,那么这肯定非常有用。如果团队中的其他人需要更新文件,而他们自己不是开发人员,这也会非常有用……现在,如果你正在谈论通过互联网下载p-list数据,请小心。一个p列表可以被提取,然后反序列化,但是你应该考虑一个更广泛使用的规范,比如JSON。此外,如果您希望获取JSON数据,然后将数据存储到磁盘上的p列表中,这也是可能的。只需使用NSJSONSerialization反序列化,然后使用NSPropertyListSerialization重新序列化。我无意通过internet下载p-list。此应用程序将不依赖internet连接进行图像下载或使用。这是一款游戏应用程序,发布后不会定期加载图像。除了您在p-list使用方面所说的之外,它对应用程序性能的提高(如内存使用)也并没有帮助。对吗?在大多数情况下,我想说的是,在p列表中存储配置数据肯定不会带来任何内存好处。您必须在某个时候将此数据加载到内存中才能使用它。此外,当您必须从磁盘读取一个p-list文件时,实际上会损失一点CPU和计时性能。从磁盘读取数据比从内存读取数据需要更长的时间。实际上,在您实际观察到性能问题之前,我不会太担心性能。