我的应用是一个心情日记,为了保存数据我选择使用Core Data(包括字符串、图片等);为了让用户恢复他的日记,我实现了iCloud,它与Core Data很好地配合。
如果我的条目不多,一切都运行得很好,但当保存的图片太多时,应用程序加载数据缓慢并遇到内存警告。
为了保存我的图片,我选择了Transformable数据类型而不是二进制数据;我知道这不是最好的保存图像的方法(保存URL肯定更好),但我需要在iCloud上同步我的数据,并且将图像保存为Transformable可以让我以简单的方式同步数据(感谢苹果API提供的将Core Data和iCloud链接的可能性)。
我该怎么做才能避免这些内存警告并将我的应用程序图片同步到iCloud?
我考虑过将我的照片保存在自定义照片相册中(如果iCloud为照片应用程序激活,则我的应用程序照片将被同步),但我需要使用自定义名称保存它们,以便从相机卷中检索它们到我的应用程序,目前我没有找到任何保存具有自定义名称的照片的解决方案。
将照片保存在文档目录中(并在我的核心数据实体中保存URL)对于本地数据库来说是正确的选择,但我的应用程序图片将不会被同步。
如果我的条目不多,一切都运行得很好,但当保存的图片太多时,应用程序加载数据缓慢并遇到内存警告。
为了保存我的图片,我选择了Transformable数据类型而不是二进制数据;我知道这不是最好的保存图像的方法(保存URL肯定更好),但我需要在iCloud上同步我的数据,并且将图像保存为Transformable可以让我以简单的方式同步数据(感谢苹果API提供的将Core Data和iCloud链接的可能性)。
我该怎么做才能避免这些内存警告并将我的应用程序图片同步到iCloud?
我考虑过将我的照片保存在自定义照片相册中(如果iCloud为照片应用程序激活,则我的应用程序照片将被同步),但我需要使用自定义名称保存它们,以便从相机卷中检索它们到我的应用程序,目前我没有找到任何保存具有自定义名称的照片的解决方案。
将照片保存在文档目录中(并在我的核心数据实体中保存URL)对于本地数据库来说是正确的选择,但我的应用程序图片将不会被同步。
NSFileManager
的setUbiquitous(_, itemAtURL:, destinationURL:, error:)
方法将其移动到iCloud。您还需要使用其他方法(在NSMetadataQuery
和NSFileManager
上)来查找和下载从iCloud中的文件。 - Tom Harrington