PHPhotos 和核心数据。 PHObject 使用啥 NSManaged 对象类型?

Posted

技术标签:

【中文标题】PHPhotos 和核心数据。 PHObject 使用啥 NSManaged 对象类型?【英文标题】:PHPhotos and Core Data. What NSManaged object type to use for PHObject?PHPhotos 和核心数据。 PHObject 使用什么 NSManaged 对象类型? 【发布时间】:2015-04-09 14:51:23 【问题描述】:

我正在尝试使用 Swift 构建一个使用新的 phphotos API 和 Core Data 的应用程序。我想要做的是捕捉或从库中选择一张照片。将其保存到自定义相册和我的核心数据数据库中。

我都单独工作,但我将图像保存到数据库中,使用 NSData 作为数据类型似乎是多余的。给我留下两次相同的图像,一张在相册中,一张在数据库中。我想要做的是将图像的引用保存到数据库,然后使用该引用检索它。

然后使用 Change Observer 来处理从我的相册到数据库的更新或更改,反之亦然。

现在,我不确定要为 PHObject 使用什么数据类型,因为我在使用 NSData 处理图像数据时遇到了错误。

这是我在 Core Data 中使用的类。

导入基础 导入核心数据

类 MyEntry: NSManagedObject

@NSManaged var date: NSDate
@NSManaged var image: NSData
@NSManaged var make: String
@NSManaged var model: String
@NSManaged var name: String
@NSManaged var entries: NSOrderedSet

任何建议将不胜感激。谢谢。

【问题讨论】:

【参考方案1】:
    您可以存储 PHObject 属性 localIdentifier 以安全地访问照片框架资产。它是一个 NSString。

    您始终可以使用该方法检索资产

    fetchAssetsWithLocalIdentifiers:(NSArray *)标识符选项:(PHFetchOptions *)选项

为目标 C 代码道歉。我对斯威夫特不是很熟悉。希望对您有所帮助。

【讨论】:

以上是关于PHPhotos 和核心数据。 PHObject 使用啥 NSManaged 对象类型?的主要内容,如果未能解决你的问题,请参考以下文章

iOS 8、PhotoKit、PHAsset、唯一标识符

使用 MKMapView、核心位置和核心数据

具有核心数据和非核心数据源的 UITableView

核心数据和图像缓存

核心数据 NSFetchedResultsController 和排序

核心数据和分页