由於某些原因,PHAsset
上的location
屬性僅在Objective-c中暴露,而不在Swift中暴露。獲取Swift中PHAsset的位置
Documentation: PHAsset.location
要解決它,我想我可以創建一個Objective-C類,其唯一目的是提取位置,並將其導入斯威夫特。
LocationGetter.h
@interface LocationGetter : NSObject
+ (CLLocation *)locationForAsset:(PHAsset *) asset;
@end
LocationGetter.m
@implementation LocationGetter
+ (CLLocation *)locationForAsset:(PHAsset *) asset {
return [asset location];
}
@end
到目前爲止好,但是當我嘗試使用它在斯威夫特:
LocationGetter.locationForAsset(ass)
「LocationGetter .Type'沒有名爲'locationForAsset'的成員
獎金的問題:爲什麼地球上沒有蘋果暴露在迅速location
?
你能分享更多的代碼嗎?出於某種原因,這爲我崩潰。並非我所有的資產都有一個位置,也許這就是原因,但我不知道如何在您提供的客觀c函數中處理這個問題,非常感謝您的幫助。 – alexsalo 2014-12-27 20:11:00
@alexsalo看起來蘋果已經在Swift中修復了'location'訪問器。你應該可以做'ass.location'來獲取位置。 '屁股'是你的PHAsset。 [文檔:PHAsset.location](https://developer.apple.com/library/prerelease/ios/documentation/Photos/Reference/PHAsset_Class/index.html#//apple_ref/occ/instp/PHAsset/location) – 2014-12-27 20:33:41
是,你說得很對,那麼我解決了一個問題。再次感謝! – alexsalo 2014-12-28 03:11:59