Per qualche motivo la proprietà location
su un PHAsset
è esposta solo in Objective-c e non in Swift.Ottenere la posizione di un set PHA in Swift
Documentation: PHAsset.location
Per aggirare, ho pensato che avrei potuto creare una classe Objective-C il cui unico scopo è quello di estrarre la posizione e importarlo in Swift.
LocationGetter.h
@interface LocationGetter : NSObject
+ (CLLocation *)locationForAsset:(PHAsset *) asset;
@end
LocationGetter.m
@implementation LocationGetter
+ (CLLocation *)locationForAsset:(PHAsset *) asset {
return [asset location];
}
@end
Fin qui tutto bene, ma quando provo ad usarlo a Swift:
LocationGetter.locationForAsset(ass)
'LocationGetter .Type 'non ha un membro chiamato' locationForAsset '
Domanda bonus: Perché mai Apple ha smascherato location
in rapido?
Puoi condividere più di codice per favore? Per qualche ragione questo si blocca per me. Non tutte le mie risorse hanno una posizione, forse questa è la ragione, ma non so come gestirle in funzione dell'obiettivo c che hai fornito, l'aiuto sarebbe molto apprezzato. – alexsalo
@alexsalo Sembra che Apple abbia corretto l'accessor "location" in Swift. Dovresti essere in grado di eseguire "ass.location" per ottenere la posizione. 'ass' è il tuo PHAsset. [Documentazione: PHAsset.location] (https://developer.apple.com/library/prerelease/ios/documentation/Photos/Reference/PHAsset_Class/index.html#//apple_ref/occ/instp/PHAsset/location) –
Sì , hai perfettamente ragione, ho avuto un problema con scartare quindi. Grazie ancora! – alexsalo