2015-03-02 19 views
6

iOS 8 olan ve çok sayıda fotoğraf işleyen bir uygulama üzerinde çalışıyorum, PHassets'i benzersiz olarak tanımlamam gerekiyor, ancak herhangi bir özellik bulamıyor mu? BeniOS 8, PhotoKit, PHAsset, benzersiz tanımlayıcı

https://developer.apple.com/library/ios/documentation/Photos/Reference/PHObject_Class/index.html#//apple_ref/occ/instp/PHObject/localIdentifier

PHAsset üzerinde benzersiz bir kimliğe sahip bir yolu var mı burada belgelenen

PHObject/localIdentifier 

üzerine bir özellik bulundu? PHObject kullanmak biraz daha ağırdır.

cevap

8

Evet, kullanabileceğiniz tek özellik budur. Ancak, PHObjectPHObject, -hash ve -isEqual: yöntemlerini uygular. Ayrıca NSCopying protokolüne de uygundur, yani sözlüklerde anahtar olarak kullanılabilir ve setler vb. Olarak kullanılabilir. Ayrıca PHAsset nesnelerini yeniden yüklediğinizde de çalışmaya devam eder. Bu, ALAsset sınıfı üzerinde büyük bir kazançtır. -isEqual'un uygulanması, localIdentifier özelliğinden çok daha hızlıdır ve ana iş parçacığında güvenle kullanılabilir. Kaputun altında ne olduğuna dair bir fikir edinmek için profiler kullanabilirsin.

+0

Merhaba, bu yüzden PHAsset .hash özelliğine sahip, ancak kendi uygunluğu uygulamam mı gerekiyor? PHAsset için? – Huang

+1

Hayır, PHAsset hem NSCopying protokolünü uygular. – kean

+0

Bu localIdentifier genel olarak benzersiz mi? – WYS