我正在开发一款运行在iOS 8上的应用程序,它需要处理大量照片。我需要为每个PHasset分配唯一标识符,但是找不到可以使用的任何属性。我找到了一个属性
PHObject/localIdentifier
在此记录了文档
在PHAsset上是否有一种获取唯一标识符的方法?PHObject使用起来有点沉重。
我正在开发一款运行在iOS 8上的应用程序,它需要处理大量照片。我需要为每个PHasset分配唯一标识符,但是找不到可以使用的任何属性。我找到了一个属性
PHObject/localIdentifier
在此记录了文档
在PHAsset上是否有一种获取唯一标识符的方法?PHObject使用起来有点沉重。
是的,那是唯一要使用的属性。
然而,PHObject
实现了 -hash
和 -isEqual:
方法。它还遵循 NSCopying
协议,这意味着它可以用作字典中的键,也可以放入集合中等等。它在重新加载 PHAsset
对象时仍然可以工作。相比之下,这是比 ALAsset
类更好的一点。实现 -isEqual
的速度比 localIdentifier
属性快得多,并且可以安全地在主线程上使用。您可以使用分析器来了解底层情况。