iOS 8、PhotoKit、PHAsset、唯一标识符
Posted
技术标签:
【中文标题】iOS 8、PhotoKit、PHAsset、唯一标识符【英文标题】:iOS 8, PhotoKit, PHAsset, unique identifier 【发布时间】:2015-03-02 02:13:08 【问题描述】:使用 ios 8 的应用程序并处理大量照片,我需要唯一标识 PHassets 但找不到任何要使用的属性?我找到了一处房产 上
PHObject/localIdentifier
在此记录
https://developer.apple.com/library/ios/documentation/Photos/Reference/PHObject_Class/index.html#//apple_ref/occ/instp/PHObject/localIdentifier
有没有办法在 PHAsset 上拥有一个唯一的 ID? PHObject 使用起来有点重。
【问题讨论】:
【参考方案1】:是的,这是唯一要使用的属性。
但是,PHObject
实现了 -hash
和 -isEqual:
方法。它还符合NSCopying
协议,这意味着它可以用作字典中的键,可以放入集合等。当您重新加载PHAsset
对象时,它也继续工作。这是对ALAsset
班级的巨大胜利。 -isEqual
的实现比localIdentifier
属性快得多,可以安全地在主线程上使用。您可以使用分析器来了解内部情况。
【讨论】:
嗨,PHAsset 确实有 .hash 属性,但我需要实现自己的 isequal 吗?用于 PHAsset? 不,PHAsset 实现了这两者,以及 NSCopying 协议。以上是关于iOS 8、PhotoKit、PHAsset、唯一标识符的主要内容,如果未能解决你的问题,请参考以下文章
在 PhotoKit 中,修改 PHAsset 会留下原始的。如何?可覆盖?